summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/980612-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/980612-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980612-1.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/980612-1.c b/gcc/testsuite/gcc.c-torture/execute/980612-1.c
new file mode 100644
index 000000000..db2438731
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/980612-1.c
@@ -0,0 +1,17 @@
+struct fd
+{
+ unsigned char a;
+ unsigned char b;
+} f = { 5 };
+
+struct fd *g() { return &f; }
+int h() { return -1; }
+
+int main()
+{
+ struct fd *f = g();
+ f->b = h();
+ if (((f->a & 0x7f) & ~0x10) <= 2)
+ abort ();
+ exit (0);
+}