(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
loongarch/
zero-size-field-pass.c
       1  /* Test that LoongArch backend ignores zero-sized fields of aggregates in
       2     argument passing.  */
       3  
       4  /* { dg-do compile } */
       5  /* { dg-options "-O2 -mdouble-float -mabi=lp64d" } */
       6  /* { dg-final { scan-assembler "\\\$f1" } } */
       7  
       8  struct test
       9  {
      10    int empty1[0];
      11    double empty2[0];
      12    int : 0;
      13    float x;
      14    long empty3[0];
      15    long : 0;
      16    float y;
      17    unsigned : 0;
      18    char empty4[0];
      19  };
      20  
      21  extern void callee (struct test);
      22  
      23  void
      24  caller (void)
      25  {
      26    struct test test;
      27    test.x = 114;
      28    test.y = 514;
      29    callee (test);
      30  }