(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
dfp/
func-scalar.c
       1  /* C99 6.5.2.2 Function calls.
       2     Test scalar passing and return values involving decimal floating
       3     point types.  */
       4  
       5  #include "dfp-dbg.h"
       6  
       7  /* A handful of functions that return their Nth _Decimal32
       8     argument.  */
       9  
      10  _Decimal32
      11  arg0_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      12  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      13  {
      14    return arg0;
      15  }
      16  
      17  _Decimal32
      18  arg1_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      19  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      20  {
      21    return arg1;
      22  }
      23  	
      24  _Decimal32
      25  arg2_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      26  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      27  {
      28    return arg2;
      29  }
      30  	
      31  _Decimal32
      32  arg3_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      33  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      34  {
      35    return arg3;
      36  }
      37  	
      38  _Decimal32
      39  arg4_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      40  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      41  {
      42    return arg4;
      43  }
      44  	
      45  _Decimal32
      46  arg5_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
      47  	 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
      48  {
      49    return arg5;
      50  }
      51  	
      52  
      53  /* A handful of functions that return their Nth _Decimal64
      54     argument.  */
      55  
      56  _Decimal64
      57  arg0_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      58  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      59  {
      60    return arg0;
      61  }
      62  	
      63  _Decimal64
      64  arg1_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      65  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      66  {
      67    return arg1;
      68  }
      69  	
      70  _Decimal64
      71  arg2_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      72  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      73  {
      74    return arg2;
      75  }
      76  	
      77  _Decimal64
      78  arg3_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      79  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      80  {
      81    return arg3;
      82  }
      83  	
      84  _Decimal64
      85  arg4_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      86  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      87  {
      88    return arg4;
      89  }
      90  	
      91  _Decimal64
      92  arg5_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
      93  	 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
      94  {
      95    return arg5;
      96  }
      97  	
      98  
      99  /* A handful of functions that return their Nth _Decimal128
     100     argument.  */
     101  
     102  _Decimal128
     103  arg0_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     104  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     105  {
     106    return arg0;
     107  }
     108  	
     109  _Decimal128
     110  arg1_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     111  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     112  {
     113    return arg1;
     114  }
     115  	
     116  _Decimal128
     117  arg2_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     118  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     119  {
     120    return arg2;
     121  }
     122  	
     123  _Decimal128
     124  arg3_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     125  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     126  {
     127    return arg3;
     128  }
     129  	
     130  _Decimal128
     131  arg4_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     132  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     133  {
     134    return arg4;
     135  }
     136  	
     137  _Decimal128
     138  arg5_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
     139  	 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
     140  {
     141    return arg5;
     142  }
     143  
     144  
     145  
     146  int
     147  main ()
     148  {
     149    /* _Decimal32 variants.  */
     150    if (arg0_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 0.0df)
     151      FAILURE
     152    if (arg1_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 1.0df)
     153      FAILURE
     154    if (arg2_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 2.0df)
     155      FAILURE
     156    if (arg3_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 3.0df)
     157      FAILURE
     158    if (arg4_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 4.0df)
     159      FAILURE
     160    if (arg5_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 5.0df)
     161      FAILURE
     162  
     163    /* _Decimal64 variants.  */
     164    if (arg0_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 0.0dd)
     165      FAILURE
     166    if (arg1_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 1.0dd)
     167      FAILURE
     168    if (arg2_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 2.0dd)
     169      FAILURE
     170    if (arg3_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 3.0dd)
     171      FAILURE
     172    if (arg4_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 4.0dd)
     173      FAILURE
     174    if (arg5_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 5.0dd)
     175      FAILURE
     176  
     177    /* _Decimal128 variants.  */
     178    if (arg0_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 0.0dl)
     179      FAILURE
     180    if (arg1_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 1.0dl)
     181      FAILURE
     182    if (arg2_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 2.0dl)
     183      FAILURE
     184    if (arg3_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 3.0dl)
     185      FAILURE
     186    if (arg4_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 4.0dl)
     187      FAILURE
     188    if (arg5_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 5.0dl)
     189      FAILURE
     190  
     191    FINISH
     192  }