OSDN Git Service

2007-01-30 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 10:17:09 +0000 (10:17 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 10:17:09 +0000 (10:17 +0000)
PR middle-end/30313
* passes.c (execute_one_pass): Reset in_gimple_form to not
confuse non-unit-at-a-time mode.

* gcc.dg/torture/pr30313.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121334 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr30313.c [new file with mode: 0644]

index ddd35cd..3c9d149 100644 (file)
@@ -1,3 +1,9 @@
+2007-01-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30313
+       * passes.c (execute_one_pass): Reset in_gimple_form to not
+       confuse non-unit-at-a-time mode.
+
 2007-01-29  Roger Sayle  <roger@eyesopen.com>
            Richard Guenther  <rguenther@suse.de>
 
index f1a702e..a9bbba6 100644 (file)
@@ -1054,6 +1054,9 @@ execute_one_pass (struct tree_opt_pass *pass)
       dump_file = NULL;
     }
 
+  /* Reset in_gimple_form to not break non-unit-at-a-time mode.  */
+  in_gimple_form = false;
+
   return true;
 }
 
index 205b74d..a8ad0c5 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-30  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30313
+       * gcc.dg/torture/pr30313.c: New testcase.
+
 2007-01-29  Janis Johnson  <janis187@us.ibm.com>
 
        * gcc.dg/dfp/dfp-except.h: New file.
diff --git a/gcc/testsuite/gcc.dg/torture/pr30313.c b/gcc/testsuite/gcc.dg/torture/pr30313.c
new file mode 100644 (file)
index 0000000..1df85f7
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+
+static inline void bar(){}
+
+struct S
+{
+  signed int i: 32;
+};
+
+int main()
+{
+  struct S x = {32};
+  sizeof(x.i+0);
+  return 0;
+}