diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/expr/bitfield9.C')
-rw-r--r-- | gcc/testsuite/g++.dg/expr/bitfield9.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/expr/bitfield9.C b/gcc/testsuite/g++.dg/expr/bitfield9.C new file mode 100644 index 000000000..177f65b88 --- /dev/null +++ b/gcc/testsuite/g++.dg/expr/bitfield9.C @@ -0,0 +1,26 @@ +// PR c++/32346 +// { dg-do run } +// { dg-options "-Wno-overflow" } + +extern "C" void abort(); + +struct S { + long long i : 32; +}; + +void f(int i, int j) { + if (i != 0xabcdef01) + abort(); + if (j != 0) + abort(); +} + +void g(S s) { + f(s.i, 0); +} + +int main() { + S s; + s.i = 0xabcdef01; + g(s); +} |