https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106780
--- Comment #3 from Vincent ---
Yes it seems safe to consider it a dupe.
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
Maybe not the right place to report this bug. Apologies in advance if it is
not. I am using the ready-made gcc-12.1.0_1 version of gcc-12.1.0 downloaded
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105806
Vincent changed:
What|Removed |Added
CC||vincent.lextrait at gmail dot
com
: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
Created attachment 50692
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50692&action=edit
ii file to reproduce the issue. gunzip first.
While compiling a relatively large f
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
Erratic (sorry) error, with gcc on MacOS 10.14.6.
The title says it all.
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
The compiler does not reject the following:
struct A{
void f(){}
};
struct B{
static A& n(){
return *new A();
}
};
template
struct C{
void g(){
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #33 from Vincent ---
Still in gcc 8.3.0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89179
--- Comment #12 from Vincent ---
Thanks, Andrew.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89179
--- Comment #10 from Vincent ---
Yes, sorry about that.
Alas, I don't use them...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89179
--- Comment #7 from Vincent ---
I understand.
It might have something to do with 67650, which was been in gcc since 2005, and
is fully reproducible until now (8.2.0). It seems to be a memory error too.
Sadly, nobody ever gave it a try.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89179
--- Comment #5 from Vincent ---
Hmm, hard to do, it is monumental and contains a ton of stuff I cannot share...
Sorry about that, I realize it makes diagnosis quite difficult.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89179
--- Comment #3 from Vincent ---
It on MacOS Mojave 10.14.2.
The command line options are:
/usr/local/bin/g++-8 -c -DNDEBUG -O3 -fvisibility=hidden -Wall -Wextra
-pedantic-errors -DDARWIN -std=c++17 -fvisibility-inlines-hidden
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
/usr/local/Cellar/gcc/8.2.0/include/c++/8.2.0/bits/cpp_type_traits.h:420:20:
internal compiler error: in ggc_set_mark, at ggc-page.c:1532
{ return __it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
Vincent changed:
What|Removed |Added
Version|8.1.0 |8.2.0
--- Comment #32 from Vincent ---
The bu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #31 from Vincent ---
It turns out we might be in front of two bugs actually. With 8.1 I have a new
diagnosis for this 67650 bug (definition missing at compile time, not just at
link edition time), but I do have other parts of my old c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #30 from Vincent ---
Am using OSX, but I do not believe it makes a big difference. Thanks, Jonathan,
let me know if I can help in any way.
(In reply to Jonathan Wakely from comment #29)
> (In reply to Vincent from comment #27)
> > So
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #28 from Vincent ---
Other silly check, did you try with my code or your reduced code ?
(In reply to Jonathan Wakely from comment #26)
> (In reply to Vincent from comment #25)
> > Oh, it used to be the case. I think that must be due
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #27 from Vincent ---
Sorry for the silly check, are you sure you are trying with -O3 or
-fdevirtualize -O2?
You can try this with 8.1:
void *v;
template
struct LK: public BLKC
{
void rb(){((T*)v)->ax();}
static T* st;
};
As
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #25 from Vincent ---
Oh, it used to be the case. I think that must be due to some additional
artefact of more recent compilers. I'll try to find another way to show it.
(In reply to Jonathan Wakely from comment #24)
> (In reply to Vi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #23 from Vincent ---
See comment #10. The error is sensitive to unrelated changes. There is some
(front-end?) corruption somewhere.
(In reply to Jonathan Wakely from comment #21)
> Comment 19 shows a bogus warning triggered by -fdevi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #22 from Vincent ---
See comment #6.
(In reply to Jonathan Wakely from comment #20)
> (In reply to Vincent from comment #5)
> > The problem is static time, not dynamic time.
> > This artefact is just a result of source code reduction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #18 from Vincent ---
Still in 8.1, now with a different diagnosis:
g++-8 -c -O3 67650.cpp
67650.cpp:33:8: warning: 'void AN::rp() [with OC = LR::LLC; RC = BLKC]' used but never defined
void rp(){}
^~
Ironically the message
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
Vincent changed:
What|Removed |Added
Version|5.2.0 |7.3.0
--- Comment #17 from Vincent ---
Still
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #16 from Vincent ---
Still there in 7.2.0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #15 from Vincent ---
Still there in 7.1.0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #14 from Vincent ---
The bug is still in 6.1.0.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #13 from Vincent ---
Indeed, that sounds like the same bug.
It took me an entire afternoon shrinking my case down to the code provided in
attachment, it was a needle in a huge haystack. I haven't been able to reduce
the code further.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #11 from Vincent ---
Just tested with 5.3.0, still there.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #10 from Vincent ---
Additionally, in the snippet:
template
struct EN: public RE
{
EN(::std::string){}
void rp(){}
};
If you replace ::std::string by const char*, the problem disappears.
More generally, essentially any simplifi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #9 from Vincent ---
To my knowledge that virtual function is duly defined:
template
struct AN: public RE>
{
void rp(){}
};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #6 from Vincent ---
Replace it with (new T())->ax() if you have doubts. Same thing.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #5 from Vincent ---
The problem is static time, not dynamic time.
This artefact is just a result of source code reduction. In my code there is
no "0", and the problem exists.
I can provide an alternative case without this artefact, b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #3 from Vincent ---
Created attachment 36355
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36355&action=edit
Test case
Compile using gcc 5.2.0:
g++-5 -O1 -std=c++11 main.ii -fdevirtualize
The function missing at link edition
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #2 from Vincent ---
Ok, working on it, thanks.
++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
I get an undefined symbol when using -O2, more specifically, after trying all
additional options on top of -O1, this is due to -fdevirtualize. With -O1
-devirtualize, the symbol
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67594
--- Comment #5 from Vincent ---
Thanks Jonathan to take the time. I have to reread the manual... Apologies for
using bandwidth.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67594
--- Comment #3 from Vincent ---
Oh, I see. So the first partial specialization is not "preferred" over the
general template?
(In reply to Jonathan Wakely from comment #2)
> The partial specialization C uses the default template argument, so
> is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67594
--- Comment #1 from Vincent ---
I've changed gcc version to 5.2, as 5.2 issues the same error.
: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vincent.lextrait at gmail dot com
Target Milestone: ---
# 1 "foo.cpp"
# 1 ""
# 1 ""
# 1 "foo.cpp"
template class C{};
template class C{};
template <> class C: public C
39 matches
Mail list logo