diff options
author | Andrew Pinski <andrew_pinski@playstation.sony.com> | 2007-08-20 00:48:09 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2007-08-19 17:48:09 -0700 |
commit | 61021c2c736d4e512ca32192cab19069ce8e261c (patch) | |
tree | 5fa3a5c401371070f18b2927b4c82bb90ba076d2 /gcc/cfgexpand.c | |
parent | 001231ffe06dbadfc7c0568d4af869f7e9014e67 (diff) | |
download | gcc-61021c2c736d4e512ca32192cab19069ce8e261c.zip gcc-61021c2c736d4e512ca32192cab19069ce8e261c.tar.gz gcc-61021c2c736d4e512ca32192cab19069ce8e261c.tar.bz2 |
re PR middle-end/32940 (REG_POINTER attribute on DECL_ARTIFICIAL pointers)
2007-08-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/32940
* cfgexpand.c (expand_one_register_var): Mark pointer
DECL_ARTIFICIAL as REG_POINTER also.
* stmt.c (expand_decl): Likewise.
From-SVN: r127634
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index d5a1e88..6031fda 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -673,18 +673,10 @@ expand_one_register_var (tree var) /* Note if the object is a user variable. */ if (!DECL_ARTIFICIAL (var)) - { mark_user_reg (x); - /* Trust user variables which have a pointer type to really - be pointers. Do not trust compiler generated temporaries - as our type system is totally busted as it relates to - pointer arithmetic which translates into lots of compiler - generated objects with pointer types, but which are not really - pointers. */ - if (POINTER_TYPE_P (type)) - mark_reg_pointer (x, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (var)))); - } + if (POINTER_TYPE_P (type)) + mark_reg_pointer (x, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (var)))); } /* A subroutine of expand_one_var. Called to assign rtl to a VAR_DECL that |