(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.target/
powerpc/
pr102024.C
// PR target/102024
// { dg-do compile { target powerpc_elfv2 } }
// { dg-options "-O2" }

// Test that a zero-width bit field in an otherwise homogeneous aggregate
// generates a psabi warning and passes arguments in GPRs.

// { dg-final { scan-assembler-times {\mstd\M} 4 } }

struct a_thing
{
  double x;
  double y;
  double z;
  int : 0;
  double w;
};

double
foo (a_thing a) // { dg-message "ELFv2 parameter passing for an argument containing zero-width bit fields but that is otherwise a homogeneous aggregate was corrected in GCC 12" }
{
  return a.x * a.y + a.z - a.w;
}