https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Jan Hubicka changed:
What|Removed |Added
Status|REOPENED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #33 from Jan Hubicka ---
Hi,
I am testing the following fix: since we already decided about mangling
we are in fact safe to remove everything that does not have assembler
name on it.
Honza
Index: tree.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #32 from Jan Hubicka ---
> I guess we might end up streaming stuff we don't need. Can't we simply
> remove the assert? We do build the copy using the main variant type
> so this seems to be just a consistency check.
The consistency
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #31 from Richard Biener ---
I guess we might end up streaming stuff we don't need. Can't we simply
remove the assert? We do build the copy using the main variant type
so this seems to be just a consistency check.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #30 from Eric Botcazou ---
We cannot change the TYPE_DECL setting in Ada, it has been like this for 25
years and is the root of the translation process for entities in gigi:
/* Similar, but GNAT_ENTITY is assumed to refer to a GNAT
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #29 from Eric Botcazou ---
> Types with linkage are C++ ODR types. They have associated mangled name
> (which is after free lang data available by DECL_ASSEMBLER_NAME of
> the TYPE_DECL of TYPE_NAME) and if the names match in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #28 from Jan Hubicka ---
> > I already did printf debugging and indeed we only need to decide how to
> > adjust type_with_linkage_p so it returns false for all Ada types. Maybe
> > cleanest would be to add flag to TYPE_DECL which
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #27 from Eric Botcazou ---
> I already did printf debugging and indeed we only need to decide how to
> adjust type_with_linkage_p so it returns false for all Ada types. Maybe
> cleanest would be to add flag to TYPE_DECL which C++ FE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #26 from Jan Hubicka ---
> Run the gnat.dg testsuite and copy-and-paste the command line from the log
> file
> without the -q option in the middle. You'll get:
>
> /home/eric/build/gcc/native/gcc/xgcc -c
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #25 from Eric Botcazou ---
Or, alternatively, from the top-level build directory where you have copied the
gnat.dg/lto8* files, just: gcc/xgcc -Bgcc -S lto8.adb -flto -I gcc/ada/rts
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #24 from Eric Botcazou ---
> I am not sure how to get command line for debugger but I assume that it does
> not simplify type name because type_with_linkage_p returns true which is
> wrong for Ada types (it tests whether it is C++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Jan Hubicka changed:
What|Removed |Added
CC||jason at redhat dot com
--- Comment #23
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #22 from Eric Botcazou ---
> Enforced as novelty, yes, but it was my understanding all the time?
Why? In Ada, the type declared in the source code is volatile so the TYPE_DECL
points to it. That's necessary for correct debug info
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Richard Biener changed:
What|Removed |Added
Priority|P3 |P1
--- Comment #21 from Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #20 from Eric Botcazou ---
> I guess the middle-end relies on TYPE_NAME to have the TYPE_MAIN_VARIANT
> type rather than be qualified. The question if just here and it is possible
> to cope with that, or elsewhere too.
Yes, but
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #19 from Jan Hubicka ---
Yeap, the warnings was written at the time all C++ types had TYPE_NAMEs
and other types used IDENTIFIER_NODE. I have chnaged it for memory use
reaosns so only main variants have IDENTIFIER_NODE. Usually we
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #18 from Jakub Jelinek ---
I guess the middle-end relies on TYPE_NAME to have the TYPE_MAIN_VARIANT type
rather than be qualified. The question if just here and it is possible to cope
with that, or elsewhere too.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #17 from Eric Botcazou ---
> The problem is here ^^^ I think, i.e. we have a volatile variant. The
> problem may come from the Ada front-end, but it would be nice to have Jan's
> viewpoint.
It comes from libgnarl/s-tpobop.ads:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Eric Botcazou changed:
What|Removed |Added
CC||ebotcazou at gcc dot gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #15 from ro at CeBiTec dot Uni-Bielefeld.DE ---
> --- Comment #14 from Jakub Jelinek ---
> That would be the
> gcc_checking_assert (TREE_TYPE (name) == t);
> assert then. So, what is TREE_TYPE (name) and what is t when
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #13 from Dominique d'Humieres ---
> Seen on i386-pc-solaris2.11 and sparc-sun-solaris2.11 (32 and 64-bit,
> gcc-testresults
> reports also on aarch64-suse-linux-gnu, arm-unknown-linux-gnueabihf,
> s390x-ibm-linux-gnu default
Also
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Rainer Orth changed:
What|Removed |Added
Status|RESOLVED|REOPENED
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Jan Hubicka changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #10 from Jan Hubicka ---
Author: hubicka
Date: Wed Nov 21 17:32:19 2018
New Revision: 266351
URL: https://gcc.gnu.org/viewcvs?rev=266351=gcc=rev
Log:
PR lto/87957
* g++.dg/lto/odr-1_0.C: Extend by mismatched enum.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #9 from Jan Hubicka ---
Author: hubicka
Date: Wed Nov 21 17:31:19 2018
New Revision: 266350
URL: https://gcc.gnu.org/viewcvs?rev=266350=gcc=rev
Log:
PR lto/87957
* tree.c (fld_decl_context): Break out from ...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #8 from Jan Hubicka ---
Author: hubicka
Date: Tue Nov 20 16:22:19 2018
New Revision: 266322
URL: https://gcc.gnu.org/viewcvs?rev=266322=gcc=rev
Log:
PR lto/87957
* ipa-devirt.c (odr_subtypes_equivalent_p): Report
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #7 from Jan Hubicka ---
Author: hubicka
Date: Mon Nov 19 23:27:10 2018
New Revision: 266289
URL: https://gcc.gnu.org/viewcvs?rev=266289=gcc=rev
Log:
PR lto/87957
* ipa-devirt.c (free_enum_values): Do not ICE on ODR
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #6 from Jan Hubicka ---
I think we have separate PR for this ICE. It is the ODR violation
confusing the walk of duplicates. It needs to stop assuming that all
duplicates are same TREE_CODE of type.
I will cook up patch.
Honza
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #5 from Martin Liška ---
With current trunk, I still see following problem:
$ cat 1.ii
enum a {} b;
$ cat 2.ii
class a {
int *b() const;
};
int *a::b() const { return 0; }
$ g++ -flto [12].ii
1.ii:1:6: warning: type ‘a’ violates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #4 from Jan Hubicka ---
ICE fixed, but lets keep the PR open to track the fact that warning is
quite confused.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #3 from Jan Hubicka ---
Author: hubicka
Date: Sat Nov 17 11:35:01 2018
New Revision: 266235
URL: https://gcc.gnu.org/viewcvs?rev=266235=gcc=rev
Log:
PR ipa/87957
* ipa-devirt.c (warn_odr): Look for main variant to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Martin Liška changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |hubicka at gcc dot
gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Martin Liška changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
Martin Liška changed:
What|Removed |Added
Last reconfirmed||2018-11-9
Known to work|
35 matches
Mail list logo