[llvm-commits] [llvm-gcc-4.2] r42572 - /llvm-gcc-4.2/trunk/gcc/c-typeck.c

Chris Lattner sabre at nondot.org
Tue Oct 2 22:33:03 PDT 2007


Author: lattner
Date: Wed Oct  3 00:33:02 2007
New Revision: 42572

URL: http://llvm.org/viewvc/llvm-project?rev=42572&view=rev
Log:
Fix PR1647 and test/CFrontend/2007-10-02-VolatileArray.c


Modified:
    llvm-gcc-4.2/trunk/gcc/c-typeck.c

Modified: llvm-gcc-4.2/trunk/gcc/c-typeck.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-typeck.c?rev=42572&r1=42571&r2=42572&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-typeck.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-typeck.c Wed Oct  3 00:33:02 2007
@@ -2085,7 +2085,11 @@
         if (TREE_CODE(ty) == RECORD_TYPE || TREE_CODE(ty) == UNION_TYPE
             || TREE_CODE(ty) == QUAL_UNION_TYPE)
           ty = TYPE_MAIN_VARIANT (ty);
-        return build4 (ARRAY_REF, ty, ar, index, NULL_TREE, NULL_TREE);
+
+        ar = build4 (ARRAY_REF, ty, ar, index, NULL_TREE, NULL_TREE);
+        /* mirror logic from build_indirect_ref to set TREE_THIS_VOLATILE.  */
+        TREE_THIS_VOLATILE(ar) = TYPE_VOLATILE(TREE_TYPE(ar));
+        return ar;
       }
 #endif
       /* LLVM LOCAL end */





More information about the llvm-commits mailing list