(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
guality/
pr59776.c
       1  /* PR debug/59776 */
       2  /* { dg-do run } */
       3  /* { dg-options "-g" } */
       4  
       5  #include "../nop.h"
       6  
       7  struct S { float f, g; };
       8  
       9  __attribute__((noipa)) void
      10  foo (struct S *p)
      11  {
      12    struct S s1, s2;			/* { dg-final { gdb-test pr59776.c:17 "s1.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      13    s1 = *p;				/* { dg-final { gdb-test pr59776.c:17 "s1.g" "6.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      14    s2 = s1;				/* { dg-final { gdb-test pr59776.c:17 "s2.f" "0.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      15    *(int *) &s2.f = 0;			/* { dg-final { gdb-test pr59776.c:17 "s2.g" "6.0" { xfail { no-opts "-O0" } } } } */
      16    asm volatile (NOP : : : "memory");	/* { dg-final { gdb-test pr59776.c:20 "s1.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      17    asm volatile (NOP : : : "memory");	/* { dg-final { gdb-test pr59776.c:20 "s1.g" "6.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      18    s2 = s1;				/* { dg-final { gdb-test pr59776.c:20 "s2.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */
      19    asm volatile (NOP : : : "memory");	/* { dg-final { gdb-test pr59776.c:20 "s2.g" "6.0" { xfail { no-opts "-O0" } } } } */
      20    asm volatile (NOP : : : "memory");
      21  }
      22  
      23  int
      24  main ()
      25  {
      26    struct S x = { 5.0f, 6.0f };
      27    foo (&x);
      28    return 0;
      29  }