This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/52178] [4.7 regression] Ada bootstrap failure in LTO mode
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 13 Feb 2012 14:43:47 +0000
- Subject: [Bug lto/52178] [4.7 regression] Ada bootstrap failure in LTO mode
- Auto-submitted: auto-generated
- References: <bug-52178-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52178
--- Comment #20 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-13 14:43:47 UTC ---
(In reply to comment #19)
> > Which should avoid the issue. But I suppose that variably_modified_type_p
> > wrongly checks
> >
> > if (TREE_CODE (type) == QUAL_UNION_TYPE)
> > RETURN_TRUE_IF_VAR (DECL_QUALIFIER (t));
> >
> > ? It seems it should not look at DECL_QUALIFIER at all.
>
> I wouldn't disagree, but I think we should only tweak free_lang_data and
> subsequent passes for 4.7.
Yeah. I'm now getting further with Ada LTO bootstrap, but hit an ICE
during optimization:
/space/rguenther/src/svn/trunk/gcc/ada/sem_prag.adb: In function
'sem_prag__analyze_pragma':
/space/rguenther/src/svn/trunk/gcc/ada/sem_prag.adb:383:0: internal compiler
error: in forward_edge_to_pdom, at tree-ssa-dce.c:1153
Please submit a full bug report,
with preprocessed source if appropriate.
when built with --disable-werror, otherwise I'd see errors with warnings like
ada/b_gnat1.adb:196:7: warning: type of 'locking_policy' does not match
original declaration [enabled by default]
In file included from /usr/include/unistd.h:563:0,
from /space/rguenther/src/svn/trunk/gcc/ada/cstreams.c:268,
from /usr/include/stdio.h:188,
from <built-in>:10,
from <built-in>:5,
from <built-in>:78,
from :9:
/space/rguenther/src/svn/trunk/gcc/ada/init.c:96:7: note: previously declared
here
In file included from :101:0:
The warning appears if the middle-end would not consider the types
compatible and thus would, for example, assign different alias-sets
when accessing the decl from the different modules.