This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR61823
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 17 Jul 2014 14:21:23 +0200 (CEST)
- Subject: [PATCH] Fix PR61823
- Authentication-results: sourceware.org; auth=none
This fixes PR61823, we need to use the proper varpool API now
to access DECL_INITIAL of globals.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2014-07-17 Richard Biener <rguenther@suse.de>
PR ipa/61823
* tree-ssa-structalias.c (create_variable_info_for_1):
Use varpool_get_constructor.
(create_variable_info_for): Likewise.
* gcc.dg/torture/pr43879_1.c: Add -fno-inline.
Index: gcc/tree-ssa-structalias.c
===================================================================
--- gcc/tree-ssa-structalias.c (revision 212737)
+++ gcc/tree-ssa-structalias.c (working copy)
@@ -5671,7 +5671,7 @@ create_variable_info_for_1 (tree decl, c
in IPA mode. Else we'd have to parse arbitrary initializers. */
&& !(in_ipa_mode
&& is_global_var (decl)
- && DECL_INITIAL (decl)))
+ && varpool_get_constructor (varpool_get_node (decl))))
{
fieldoff_s *fo = NULL;
bool notokay = false;
@@ -5797,13 +5797,13 @@ create_variable_info_for (tree decl, con
/* If this is a global variable with an initializer and we are in
IPA mode generate constraints for it. */
- if (DECL_INITIAL (decl)
+ if (varpool_get_constructor (vnode)
&& vnode->definition)
{
auto_vec<ce_s> rhsc;
struct constraint_expr lhs, *rhsp;
unsigned i;
- get_constraint_for_rhs (DECL_INITIAL (decl), &rhsc);
+ get_constraint_for_rhs (varpool_get_constructor (vnode), &rhsc);
lhs.var = vi->id;
lhs.offset = 0;
lhs.type = SCALAR;
Index: gcc/testsuite/gcc.dg/torture/pr43879_1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr43879_1.c (revision 212737)
+++ gcc/testsuite/gcc.dg/torture/pr43879_1.c (working copy)
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-fipa-pta" } */
+/* { dg-options "-fipa-pta -fno-inline" } */
/* { dg-additional-sources "pr43879_2.c" } */
void bar(int c)