diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/pr38422.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr38422.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr38422.c b/gcc/testsuite/gcc.c-torture/execute/pr38422.c new file mode 100644 index 000000000..e36879d7f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr38422.c @@ -0,0 +1,24 @@ +/* PR middle-end/38422 */ + +extern void abort (void); + +struct S +{ + int s : (sizeof (int) * __CHAR_BIT__ - 2); +} s; + +void +foo (void) +{ + s.s *= 2; +} + +int +main () +{ + s.s = 24; + foo (); + if (s.s != 48) + abort (); + return 0; +} |