> > + 2012-05-17 Jan Hubicka
> > +
> > + * lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with
> > constructor
> > + over decl without.
> > + * cgraph.c (cgraph_remove_node): Clear also body of unanalyzed
> > nodes.
> > + * cgraph.h (varpool_can_remove_if_no_re
On Thu, May 17, 2012 at 9:42 AM, Jan Hubicka wrote:
> Hi,
> C++ virtual tables keyed to other compilation units are represented as
> DECL_EXTERNAL
> variables with constructor known. Knowhing the constructor helps constant
> folding to do
> devirtualization.
>
> At the moment these costructors a
> my apologize for the breakage. I somehow missed Ada in --enable-languages
> list. I've comitted the following fix that also cures enable checking
> failure of g++.dg/torture/pr46154.C
No problem, thanks for the quick fix!
--
Eric Botcazou
Hi,
my apologize for the breakage. I somehow missed Ada in --enable-languages
list. I've comitted the following fix that also cures enable checking failure
of g++.dg/torture/pr46154.C
Honza
* cgraphunit.c (varpool_finalize_decl): Allow external decls.
(mark_functions_to_output):
> > OK, does the following patch fix the problem? I will try to understand how
> > conistent is C++ frontend about the flags. It would be nice to have safer
> > way to declare the "static var in other unit" than combination of EXTERNAL
> > and STATIC...
>
> Not sufficient it seems:
>
> /home/er
> OK, does the following patch fix the problem? I will try to understand how
> conistent is C++ frontend about the flags. It would be nice to have safer
> way to declare the "static var in other unit" than combination of EXTERNAL
> and STATIC...
Not sufficient it seems:
/home/eric/build/gcc/nat
> > The problem here seems to be that Ada constructs an variable that is
> > DECL_EXTERNAL, passes const_value_known_p and has DECL_INITIAL, yet its
> > TREE_STATIC is not set. C++ always output those variables with TREE_STATIC
> > set and to be honest, I am unsure what is intended semantics of thi
> The problem here seems to be that Ada constructs an variable that is
> DECL_EXTERNAL, passes const_value_known_p and has DECL_INITIAL, yet its
> TREE_STATIC is not set. C++ always output those variables with TREE_STATIC
> set and to be honest, I am unsure what is intended semantics of this flag
>
> > Bootstrapped/regtested x86_64-linux, comitted.
>
> It presumably breaks Ada bootstrap on x86/Linux:
I suppose so. I tested x86_64/linux with Ada.
>
> /home/eric/build/gcc/native32/./prev-gcc/xgcc
> -B/home/eric/build/gcc/native32/./prev-gcc/
> -B/home/eric/install/gcc/i586-suse-linux/bin/
> Bootstrapped/regtested x86_64-linux, comitted.
It presumably breaks Ada bootstrap on x86/Linux:
/home/eric/build/gcc/native32/./prev-gcc/xgcc
-B/home/eric/build/gcc/native32/./prev-gcc/
-B/home/eric/install/gcc/i586-suse-linux/bin/
-B/home/eric/install/gcc/i586-suse-linux/bin/
-B/home/eric/
Hi,
C++ virtual tables keyed to other compilation units are represented as
DECL_EXTERNAL
variables with constructor known. Knowhing the constructor helps constant
folding to do
devirtualization.
At the moment these costructors are not seen by varpool and thus they are not
represented by ipa-ref
11 matches
Mail list logo