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

Stuart Hastings stuart at apple.com
Tue Sep 7 11:43:09 PDT 2010


Author: stuart
Date: Tue Sep  7 13:43:09 2010
New Revision: 113248

URL: http://llvm.org/viewvc/llvm-project?rev=113248&view=rev
Log:
Diagnose illegal store into a const.  Radar 8361341.

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=113248&r1=113247&r2=113248&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-typeck.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-typeck.c Tue Sep  7 13:43:09 2010
@@ -2132,7 +2132,10 @@
        * and it provides it with more information for optimization.
        */
       {
-        tree ty = TREE_TYPE(TREE_TYPE(ar));
+        /* LLVM LOCAL begin 8361341 */
+        tree orig_ty = TREE_TYPE(TREE_TYPE(ar));
+        tree ty = orig_ty;
+        /* LLVM LOCAL end 8361341 */
         if (TREE_CODE(ty) == RECORD_TYPE || TREE_CODE(ty) == UNION_TYPE
             || TREE_CODE(ty) == QUAL_UNION_TYPE)
           ty = TYPE_MAIN_VARIANT (ty);
@@ -2149,8 +2152,10 @@
         /* Mirror logic from build_indirect_ref to set TREE_THIS_VOLATILE and
          * other flags.
          */
-        TREE_READONLY (ar) = TYPE_READONLY (TREE_TYPE (ar));
-        TREE_THIS_VOLATILE(ar) = TYPE_VOLATILE(TREE_TYPE (ar));
+        /* LLVM LOCAL begin 8361341 */
+        TREE_READONLY (ar) = TYPE_READONLY (orig_ty);
+        TREE_THIS_VOLATILE(ar) = TYPE_VOLATILE(orig_ty);
+        /* LLVM LOCAL end 8361341 */
         TREE_SIDE_EFFECTS (ar)
           = TREE_THIS_VOLATILE (ar) || TREE_SIDE_EFFECTS (array) ||
             TREE_SIDE_EFFECTS (index);





More information about the llvm-commits mailing list