aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-07-06 14:05:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-07-06 14:05:54 +0000
commit6d6c952527c53637280297b2e6a48d6b21606294 (patch)
tree8be0cce61ef719aebeb7411affb2f4847a356b91 /gcc/c-decl.c
parentd1a6ec10922732aebd828be711062731f51ee2ff (diff)
downloadgcc-6d6c952527c53637280297b2e6a48d6b21606294.zip
gcc-6d6c952527c53637280297b2e6a48d6b21606294.tar.gz
gcc-6d6c952527c53637280297b2e6a48d6b21606294.tar.bz2
re PR tree-optimization/49645 (g++.dg/tree-ssa/pr8781.C FAILs on Tru64 UNIX)
2011-07-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/49645 * c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global register variables. * tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences in type qualification here ... (copy_reference_ops_from_ref): ... not here. (vn_reference_lookup_3): ... or here. (copy_reference_ops_from_ref): Record decl bases as MEM[&decl]. (vn_reference_lookup): Do the lookup with a valueized ao-ref. * g++.dg/tree-ssa/pr8781.C: Disable SRA. From-SVN: r175916
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 357522b..3ed3c46 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -4357,6 +4357,8 @@ finish_decl (tree decl, location_t init_loc, tree init,
when a tentative file-scope definition is seen.
But at end of compilation, do output code for them. */
DECL_DEFER_OUTPUT (decl) = 1;
+ if (asmspec && C_DECL_REGISTER (decl))
+ DECL_HARD_REGISTER (decl) = 1;
rest_of_decl_compilation (decl, true, 0);
}
else