(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
nvptx/
abi-enum-ret.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-Wno-pedantic -Wno-long-long -m64 -fshort-enums" } */
       3  
       4  /* Enum return types.  Passed as the underlying integer.  */
       5  
       6  typedef enum { a = 0x1, b } Echar;
       7  typedef enum { c = 0x100, d } Eshort;
       8  typedef enum { e = 0x10000, f } Eint;
       9  typedef enum { g = 0x100000000LL, h } Elonglong;
      10  
      11  /* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_rc;" 1 } } */
      12  Echar dcl_rc (void);
      13  
      14  /* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_rs;" 1 } } */
      15  Eshort dcl_rs (void);
      16  
      17  /* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_ri;" 1 } } */
      18  Eint dcl_ri (void);
      19  
      20  /* { dg-final { scan-assembler-times ".extern .func \\(.param.u64 %\[_a-z\]*\\) dcl_rll;" 1 } } */
      21  Elonglong dcl_rll (void);
      22  
      23  void test_1 (void)
      24  {
      25    dcl_rc ();
      26    dcl_rs ();
      27    dcl_ri ();
      28    dcl_rll ();
      29  }
      30  
      31  /* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-9\]*\\) dfn_rc(?:;|\[\r\n\]+\{)" 2 } } */
      32  Echar dfn_rc (void)
      33  {
      34    return 1;
      35  }
      36  
      37  /* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-0\]*\\) dfn_rs(?:;|\[\r\n\]+\{)" 2 } } */
      38  Eshort dfn_rs (void)
      39  {
      40    return 2;
      41  }
      42  
      43  /* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-9\]*\\) dfn_ri(?:;|\[\r\n\]+\{)" 2 } } */
      44  Eint dfn_ri (void)
      45  {
      46    return 3;
      47  }
      48  
      49  /* { dg-final { scan-assembler-times ".visible .func \\(.param.u64 %\[_a-z0-9\]*\\) dfn_rll(?:;|\[\r\n\]+\{)" 2 } } */
      50  Elonglong dfn_rll (void)
      51  {
      52    return 4;
      53  }