[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