https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #11 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Jason Merrill from comment #10)
Having #pragma implementation in LogListener.cc is sufficient:
The real-world LogListener.o has (full output as it is short):
...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #10 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #9)
In the real code, one has something like the following, which I tried to
mimic in the test case. If I understood your comment correctly,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
Tobias Burnus burnus at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #12 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #11)
Because log.o has due to the vptr sanitizer:
U typeinfo for LogListener
And why isn't that reference satisfied by the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #9 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Jason Merrill from comment #8)
(In reply to Tobias Burnus from comment #5)
Updated test case (part 1/2): [main file] compile with g++ -fsanitize=vptr
so the #pragma
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #6)
Created attachment 34628 [details]
Updated test case (part 2/2): [aux file]
Missed to state:
This file 'implements' the class
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #8 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #5)
Updated test case (part 1/2): [main file] compile with g++ -fsanitize=vptr
In this test case you have
#pragma implementation test.h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
Tobias Burnus burnus at gcc dot gnu.org changed:
What|Removed |Added
Attachment #34487|0 |1
is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org ---
Created attachment 34628
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34628action=edit
Updated test case (part 2/2): [aux file]
Updated test case. The first file matches what
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #4 from Jason Merrill jason at gcc dot gnu.org ---
This seems like a bug in the user's code, not the compiler. If the class is
defined in a header with #pragma interface, there needs to be a matching
#pragma implementation somewhere
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
Marek Polacek mpolacek at gcc dot gnu.org changed:
What|Removed |Added
CC||mpolacek at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
Jakub Jelinek jakub at gcc dot gnu.org changed:
What|Removed |Added
CC||jason at gcc dot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
Created attachment 34487
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34487action=edit
test_case.ii - compile with g++ -fsanitize=vptr; gives bogus undefined
reference to
13 matches
Mail list logo