[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #15 from Jason Merrill jason at gcc dot gnu.org 2011-05-07 01:43:08 UTC --- Other folks on the committee agree that this is ill-formed, so I'm going to close the PR.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #14 from Jason Merrill jason at gcc dot gnu.org 2011-05-04 13:42:19 UTC --- (In reply to comment #10) struct S { }; S* p = new S::S(); EDG 4.0-4.3 all reject this as well.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|2011-02-14 08:16:16 |2011.05.03 21:14:02 CC||jason at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #12 from Jason Merrill jason at gcc dot gnu.org 2011-05-03 21:14:02 UTC --- (In reply to comment #10) Jason, does DR 318 mean G++ should accept this, because the constructor is not an acceptable lookup result? struct S { }; S* p = new S::S(); I suppose it does.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #13 from Jason Merrill jason at gcc dot gnu.org 2011-05-03 21:18:14 UTC --- Actually, I think it's unclear. 318 had to do with elaborated type specifiers, for which we explicitly say that the lookup is done ignoring any non-type names that have been declared.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever Confirmed|1 |0
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011.02.14 08:16:16 CC||ebotcazou at gcc dot ||gnu.org Ever Confirmed|0 |1 --- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-02-14 08:16:16 UTC --- GCC is unlikely to randomly crash like that (especially on Linux) so Zack might be on the right track. Please try to reproduce on another machine.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #4 from David C. Rankin drankinatty at suddenlinkmail dot com 2011-02-14 15:57:15 UTC --- Thanks guys, The iccconfig.cpp build failure is reproducible 100% of the time on gcc-4.5.2 on both i686 and x86_64 (this error does not exist on gcc43). The kcontrol/kong segfault looks like a side effect of the iccconfig problem. As a test, I built and installed gcc43 and kdelibs builds fine -- (no iccconfig.cpp error and no segfault) The build with gcc43 looked like this: cmake ../ \ -DCMAKE_C_COMPILER=/usr/bin/gcc-4.3 \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.3 \ -DCMAKE_INSTALL_PREFIX=/opt/qt \ -DWITH_QT3=ON \ -DQT_LIBRARY_DIRS=/opt/qt/lib \ -DCMAKE_SKIP_RPATH=ON || return 1 make I have run memtest86+ (for hours, through all tests/passes for 2 complete cycles and there are no problems) So if I understand what you need, you need me to build kdelibs with 4.5.2 to the point of failure with? cmake ../ \ -DCMAKE_C_COMPILER=/usr/bin/gcc -save-temps \ -DCMAKE_CXX_COMPILER=/usr/bin/g++ -save-temps \ Then I need to attach the precompiled sources -- which if I'm doing an out of source build in a temporary kdebase/src directory are which files? Are the precompiled sources going to end up in the kdebase/src/kcontrol/iccconfig directory -or- do you need the entire kdebase/src directory? I'm happy to get you anything that you need, but as I mentioned, this is the first possible compiler error I've run into. I want to do my part and get you everything that is needed so we can either rule-in or rule-out a gcc issue, but I just need a bit of explanation of what what you need is. I obviously misunderstood what the precompiled sources were, but I'm happy to go rebuild with -save-temps. I just need to know if simply adding -save-temps to the gcc flags will do it?
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-14 16:19:39 UTC --- (In reply to comment #4) So if I understand what you need, you need me to build kdelibs with 4.5.2 to the point of failure with? cmake ../ \ -DCMAKE_C_COMPILER=/usr/bin/gcc -save-temps \ -DCMAKE_CXX_COMPILER=/usr/bin/g++ -save-temps \ No, you can just run it to the point of failure, then repeat the command that failed, adding -save-temps. You don't need to use -save-temps for everything. Then I need to attach the precompiled sources -- which if I'm doing an out of source build in a temporary kdebase/src directory are which files? Are the precompiled sources going to end up in the kdebase/src/kcontrol/iccconfig directory -or- do you need the entire kdebase/src directory? Please don't send the whole directory. Just generate the preprocessed file for the one source file that fails to compile, and send us that preprocessed file, the one with a .ii extension. I'm happy to get you anything that you need, but as I mentioned, this is the first possible compiler error I've run into. I want to do my part and get you everything that is needed so we can either rule-in or rule-out a gcc issue, but I just need a bit of explanation of what what you need is. I obviously misunderstood what the precompiled sources were, but I'm happy to go rebuild with -save-temps. I just need to know if simply adding -save-temps to the gcc flags will do it? Yes, but only do it for the gcc command that fails. We don't want dozens of preprocessed files for the things that compile ok, that's no use to anyone.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-14 16:44:33 UTC --- iccconfig.cpp:289 looks like: KRandrSimpleAPI *randrsimple = new KRandrSimpleAPI::KRandrSimpleAPI(); That code is invalid, gcc 4.5 is correct to reject it. It should be: KRandrSimpleAPI *randrsimple = new KRandrSimpleAPI();
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-14 16:46:28 UTC --- the code can be reduced to struct S { }; int main() { S* p = new S::S(); } which is rejected too. The Trinity code needs to be fixed as suggested above, doing that will work with all versions of GCC (and other compilers)
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #8 from David C. Rankin drankinatty at suddenlinkmail dot com 2011-02-14 19:43:14 UTC --- Ok, I managed to generate iccconfig.ii and it is too big to attach. I have made it available on my site: http://www.3111skyline.com/dl/dt/trinity/errors/iccconfig-452/iccconfig.ii The whole build dir for iccconfig is there too: http://www.3111skyline.com/dl/dt/trinity/errors/iccconfig-452/
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #9 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-02-14 19:50:52 UTC --- I managed to generate iccconfig.ii and it is too big to attach. I have made it available on my site: http://www.3111skyline.com/dl/dt/trinity/errors/iccconfig-452/iccconfig.ii zip/gzip/bzip2 is your friend.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added CC||jason at redhat dot com Severity|major |normal --- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-14 20:33:53 UTC --- As I said, GCC's behaviour was changed intentionally, for Bug 11764, to conform to a defect report against the C++ standard, DR 147 Jason, does DR 318 mean G++ should accept this, because the constructor is not an acceptable lookup result? struct S { }; S* p = new S::S();
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #11 from David C. Rankin drankinatty at suddenlinkmail dot com 2011-02-14 21:04:44 UTC --- Created attachment 23342 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=23342 iccconfig.ii (bzip2) Eric, Sorry for not zipping it and attaching it. When I originally tried to post it, the Create New Attachment page just said to include a link to it. I've attached it now for completeness (even though you probably don't need it now). Thank you all for your help and input.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #1 from Zack Weinberg zackw at panix dot com 2011-02-13 23:27:10 UTC --- I have run the build a second time and it makes it past the point where it segfaulted, This means your problem is almost certainly *not* a bug in GCC, but rather a hardware fault: most commonly a bad RAM module. Please run a memory tester against your computer (a good one is at http://www.memtest.org/ ) -- you may have to run it for several hours for definitive results.
[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-02-14 00:07:01 UTC --- (In reply to comment #0) I have created a tar.bz2 of the src/kcontrol/konq directory (which I hope is what you need) and I've attached it. http://gcc.gnu.org/bugs/ says we want preprocessed source (generated by using -save-temps) and not an archive of sources. It also says we do not want: An error that occurs only some of the times a certain file is compiled, such that retrying a sufficient number of times results in a successful compilation; this is a symptom of a hardware problem, not of a compiler bug (sorry)