[Bug rtl-optimization/27114] [4.1/4.2 Regression] Bug under optimization. (cast to reference)
--- Comment #3 from pluto at agmk dot net 2006-04-11 10:03 --- -O2 -fno-inline works (tested on x86-64). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27114
[Bug other/27156] New: SIGSEGV in operator delete() / wrong-code?
$ i486-gnu-linux-g++ -v Using built-in specs. Target: i486-gnu-linux Configured with: ../configure --target=i486-gnu-linux --prefix=/local/devel/toolchain41/i486-gnu-linux --libdir=/local/devel/toolchain41/i486-gnu-linux/lib --libexecdir=/local/devel/toolchain41/i486-gnu-linux/lib --with-slibdir=/local/devel/toolchain41/i486-gnu-linux/lib --with-sysroot=/local/devel/toolchain41/i486-gnu-linux --disable-multilib --disable-nls --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --enable-symvers=gnu Thread model: posix gcc version 4.1.1 20060405 (prerelease) (PLD-Linux) $ i486-gnu-linux-g++ \ -I/local/devel/buildenv41/i486-gnu-linux/STLport/include/stlport \ -L/local/devel/buildenv41/i486-gnu-linux/STLport/lib \ testDrv.cpp -o testDrv --save-temps -pthread \ -Wl,-rpath,/local/devel/buildenv41/i486-gnu-linux/STLport/lib \ -lstlport -nodefaultlibs -lc -O2 Program received signal SIGSEGV, Segmentation fault. 0x55674c91 in free () from /lib/tls/libc.so.6 (gdb) bt #0 0x55674c91 in free () from /lib/tls/libc.so.6 #1 0x555ded2b in operator delete () from /local/devel/buildenv41/i486-gnu-linux/ STLport/lib/libstlport.so.5.0 #2 0x08048d19 in main () testcase works with 3.3.6, 3.4.x and 4.1.x(-fno-strict-aliasing). 4.0.x and 4.2.x not tested. 4.1.x(-fstrict-aliasing) causing segv in the testcase. -Wall -Wstrict-aliasing=2 says nothing :( -- Summary: SIGSEGV in operator delete() / wrong-code? Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: i486-linux GCC host triplet: i486-linux GCC target triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #1 from pluto at agmk dot net 2006-04-14 09:36 --- Created an attachment (id=11265) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11265&action=view) preprocessed source (compiled with stlport-5.0.2) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug rtl-optimization/20586] bootstrap comparision fails with -funroll-loops.
--- Comment #5 from pluto at agmk dot net 2006-04-16 20:43 --- gcc-4.1.1 (rev. 112984) boostraped sucessfully on my box with `-march=x86-64 -O2 -funroll-loops` now :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20586
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #4 from pluto at agmk dot net 2006-04-19 08:12 --- (In reply to comment #2) > Well this works with just compiling like: > g++ -O2 -pthread t.ii > > With 4.1.0 (4.1.0 20051026). > Yes, it works with libstdcxx but the testcase uses STLport-5.0.2. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #5 from pluto at agmk dot net 2006-04-19 08:33 --- (In reply to comment #3) > Are you sure that you are not mixing operator new and deletes up so the > stlport's operator delete is being called on memory allocated from > operator new from libstdc++? STLport uses __stl_{new,delete} which uses ::operator {new,delete} from g++'s header. I don't see any mixing in preprocessed sources. Moreover libstdc++ isn't linked in the testcase. $ ldd testDrv linux-gate.so.1 => (0xe000) libstlport.so.5.0 => /local/devel/buildenv41/i486-gnu-linux/ STLport/lib/libstlport.so.5.0 (0x5556d000) libc.so.6 => /lib/tls/libc.so.6 (0x55612000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x5572c000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x55734000) libm.so.6 => /lib/tls/libm.so.6 (0x55746000) /lib/ld-linux.so.2 (0x5000) > Also is there a reason why you are using stlport? [1] It has faster std::string implementation which I need for large Tcl/Tk based GUI. [2] I'm using it in multiplatform project with different compilers (win32(vc2003), linux(g++), solaris(g++, sunworkshop)). It gives me a one STL implementation for whole project. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #6 from pluto at agmk dot net 2006-04-19 08:38 --- It works also with 4.1.x -fstrict-aliasing -fno-inline. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug c++/27257] Error integer compare in g++ 4.1.0
--- Comment #1 from pluto at agmk dot net 2006-04-22 08:23 --- (In reply to comment #0) > int b = 0X8000; > if ((b - 10) < 0) b - 10 is 0xff(...)7ff6 and this is an integer overflow. [ cite: c++ standard / $5.5 ] if during the evaluation of an expression the result isn't mathematically defined nor in the range of representable values for its type the behaviuor is undefined, unless such an expression is a constant expression, in which case the program is ill-formed. (...) [ /cite ] so, use -fwrapv (man g++) to get not quite correct behaviour. -- pluto at agmk dot net changed: What|Removed |Added CC| |pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27257
[Bug other/27261] New: -ftrapv doesn't work.
#include int main() { int x = 0x8000; std::printf( "%08x\n", x ); x *= 2; std::printf( "%08x\n", x ); // still here? std::puts( "-ftrapv doesn't work :(" ); return 0; } $ g++ signed_overflow_3.cpp; ./a.out; echo $? 8000 -ftrapv doesn't work :( 0 gcc version 4.1.1 20060419 (prerelease) -- Summary: -ftrapv doesn't work. Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: x86-64-linux GCC host triplet: x86-64-linux GCC target triplet: x86-64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27261
[Bug other/27261] -ftrapv doesn't work.
--- Comment #1 from pluto at agmk dot net 2006-04-22 14:07 --- of course command line shoud be: $ g++ signed_overflow_3.cpp -ftrapv ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27261
[Bug target/27277] standard i387 constant loading insns (fldz, fld1) are not generated anymore
--- Comment #1 from pluto at agmk dot net 2006-04-24 08:50 --- PR26915 seems to be related to this bug. -- pluto at agmk dot net changed: What|Removed |Added CC||pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27277
[Bug target/17390] missing floating point compare optimization
--- Comment #10 from pluto at agmk dot net 2006-05-01 08:05 --- (In reply to comment #9) > Created an attachment (id=10666) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10666&action=view) [edit] > patch to SVN GCC: (GNU) 4.2.0 20060117 (experimental) this patch ICEs recent x86-64 gcc: $ ./xgcc -B. -v Reading specs from ./specs Target: x86_64-pld-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib64 --libexecdir=/usr/lib64 --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib64 --enable-shared --enable-threads=posix --enable-languages=c,c++ --enable-c99 --enable-long-long --enable-multilib --enable-nls --disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib64 --without-system-libunwind --without-x --with-long-double-128 --with-gxx-include-dir=/usr/include/c++/4.2.0 --disable-libstdcxx-pch --enable-__cxa_atexit --enable-libstdcxx-allocator=new x86_64-pld-linux Thread model: posix gcc version 4.2.0 20060428 (experimental) (PLD-Linux) $ cat T1.c void test(double x) { if (x > 0.0); } $ ./xgcc -B. T1.c -m32 T1.c: In function ‘test’: T1.c:1: internal compiler error: in bsi_last, at tree-flow-inline.h:683 $ cat T2.cpp struct S { ~S(); }; void bar(); void foo() { S s; bar(); } $ ./xgcc -B. T2.cpp -m32 T2.cpp: In function ‘void foo()’: T2.cpp:7: internal compiler error: in bsi_last, at tree-flow-inline.h:683 -- pluto at agmk dot net changed: What|Removed |Added CC| |pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17390
[Bug rtl-optimization/20586] bootstrap comparision fails with -funroll-loops.
--- Comment #7 from pluto at agmk dot net 2006-05-01 10:31 --- 4.1.1-20060501 (rev. 113407) fails again. [ i686 ] ./c-format.o differs ./combine.o differs ./global.o differs ./i386.o differs ./ipa-cp.o differs ./loop.o differs ./modulo-sched.o differs ./reg-stack.o differs ./regclass.o differs ./reload1.o differs ./simplify-rtx.o differs ./toplev.o differs ./tree-data-ref.o differs ./tree-into-ssa.o differs ./tree-outof-ssa.o differs ada/erroutc.o differs ada/restrict.o differs ada/s-casuti.o differs ada/sem_maps.o differs cp/call.o differs cp/pt.o differs fortran/symbol.o differs java/class.o differs build/genautomata.o differs [ ppc ] ./builtins.o differs ./caller-save.o differs ./ddg.o differs ./flow.o differs ./global.o differs ./modulo-sched.o differs ./real.o differs ./recog.o differs ./regrename.o differs ./reload.o differs ./reload1.o differs ./sched-deps.o differs ./simplify-rtx.o differs ./tree-into-ssa.o differs ada/exp_dbug.o differs ada/osint.o differs ada/treepr.o differs java/jcf-write.o differs build/genrecog.o differs [ x86-64 ] ./c-format.o differs ./i386.o differs ./reg-stack.o differs ./reload1.o differs ./simplify-rtx.o differs ./stmt.o differs ada/bcheck.o differs cp/search.o differs e.g.: -reg-stack-stage2.o: file format elf64-x86-64 +reg-stack-stage3.o: file format elf64-x86-64 Disassembly of section .text: @@ -4111,8 +4111,8 @@ 38ac: bf 00 00 00 00 mov$0x0,%edi 38b1: e8 00 00 00 00 callq 38b6 38b6: 41 8d 7f ff lea0x(%r15),%edi -38ba: 4c 8d 56 ff lea0x(%rsi),%r10 -38be: 4d 8d 48 ff lea0x(%r8),%r9 +38ba: 4c 8d 4e ff lea0x(%rsi),%r9 +38be: 4d 8d 50 ff lea0x(%r8),%r10 38c2: 48 63 cfmovslq %edi,%rcx 38c5: 48 8b 3c 24 mov(%rsp),%rdi 38c9: 49 8d 2c 08 lea(%r8,%rcx,1),%rbp @@ -4121,10 +4121,10 @@ 38d4: 44 0f b6 24 2f movzbl (%rdi,%rbp,1),%r12d 38d9: 46 38 24 2f cmp%r12b,(%rdi,%r13,1) 38dd: 75 c3 jne38a2 -38df: 4d 8d 24 09 lea(%r9,%rcx,1),%r12 -38e3: 49 8d 04 0a lea(%r10,%rcx,1),%rax -38e7: 4c 8d 4e fe lea0xfffe(%rsi),%r9 -38eb: 4d 8d 50 fe lea0xfffe(%r8),%r10 +38df: 4d 8d 24 0a lea(%r10,%rcx,1),%r12 +38e3: 49 8d 04 09 lea(%r9,%rcx,1),%rax +38e7: 4d 8d 50 fe lea0xfffe(%r8),%r10 +38eb: 4c 8d 4e fe lea0xfffe(%rsi),%r9 38ef: 42 0f b6 14 27 movzbl (%rdi,%r12,1),%edx 38f4: 38 14 07cmp%dl,(%rdi,%rax,1) 38f7: 75 a9 jne38a2 -- pluto at agmk dot net changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED | Version|4.1.0 |4.1.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20586
[Bug target/26915] missed optimization / returning -1.0
--- Comment #2 from pluto at agmk dot net 2006-05-01 10:41 --- (In reply to comment #1) > ...and the current 4.2.0 ICEs on this testcase: > > $ ./xgcc -B. 26915.c -m32 -march=i686 > 26915.c: In function ‘minus1’: > 26915.c:1: error: bb_for_stmt (stmt) is set to a wrong basic block > 26915.c:1: error: bb_for_stmt (stmt) is set to a wrong basic block > 26915.c:1: internal compiler error: verify_stmts failed > please ignore this ICE. it's related to other patch: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17390#c10 current 4.1 and 4.2 don't optimize original testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26915
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #8 from pluto at agmk dot net 2006-05-03 09:02 --- Created an attachment (id=11364) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11364&action=view) full 32-bit testcase. -- pluto at agmk dot net changed: What|Removed |Added Attachment #11265|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #9 from pluto at agmk dot net 2006-05-03 09:05 --- (In reply to comment #7) > The testcase works for me as I don't have the STLport installed (and what is > in > this bug is not enough to reproduce the bug). > so, try latest testcase. $ make g++ testDrv.ii -o testDrv -pthread -fno-rtti -O3 -m32 -nodefaultlibs \ -Wl,-rpath,. -L. -lstlport -lc ./testDrv *** glibc detected *** ./testDrv: free(): invalid pointer: 0x555a8f54 *** make: *** [all] Aborted -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #10 from pluto at agmk dot net 2006-05-03 09:19 --- Created an attachment (id=11365) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11365&action=view) source code -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #11 from pluto at agmk dot net 2006-05-03 09:22 --- also fails on 64-bit system. $ g++ testDrv.cpp -o testDrv -pthread -O2 \ -I/usr/include/stlport -nodefaultlibs -lstlport -lc $ ./testDrv *** glibc detected *** ./testDrv: munmap_chunk(): invalid pointer: 0x004016b0 *** === Backtrace: = /lib64/libc.so.6[0x2b568785ebed] ./testDrv(__gxx_personality_v0+0x281)[0x400f69] /lib64/libc.so.6(__libc_start_main+0xf4)[0x2b5687812134] ./testDrv(__gxx_personality_v0+0x81)[0x400d69] === Memory map: (...) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27417] New: wrong code or aliasing violation with missed diagnostic?
inline float quickBinaryToFloat( unsigned const& in ) { return reinterpret_cast< float const& >( in ) ; } float foo( unsigned x ) { unsigned y = ( x * 2 ) + 1; return quickBinaryToFloat( y ); } [ wrong-code generated ] $ i486-gnu-linux-g++ bin2float.cpp -Wall -O2 -c -fomit-frame-pointer -m32 : 0: 83 ec 10sub$0x10,%esp 3: d9 44 24 0c flds 0xc(%esp) 7: 83 c4 10add$0x10,%esp a: c3 ret [ correct code generated ] $ i486-gnu-linux-g++ bin2float.cpp -Wall -O2 -c -fomit-frame-pointer -m32 \ -fno-strict-aliasing : 0: 83 ec 10sub$0x10,%esp 3: 8b 44 24 14 mov0x14(%esp),%eax 7: 8d 44 00 01 lea0x1(%eax,%eax,1),%eax b: 89 44 24 0c mov%eax,0xc(%esp) f: d9 44 24 0c flds 0xc(%esp) 13: 83 c4 10add$0x10,%esp 16: c3 ret -- Summary: wrong code or aliasing violation with missed diagnostic? Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: i486-linux GCC host triplet: i486-linux GCC target triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27417
[Bug other/27417] wrong code or aliasing violation with missed diagnostic?
--- Comment #2 from pluto at agmk dot net 2006-05-04 12:08 --- (In reply to comment #1) > This missed diagnostic is known, as enabling a warning here would cause too > much "false" positives. but what about -Wstrict-aliasing=2? it doesn't report anything, so how can i check possible violations with accepted false-positive level? -- pluto at agmk dot net changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27417
[Bug driver/27419] '-static' for 'gcc libraries' only?
--- Comment #1 from pluto at agmk dot net 2006-05-04 13:15 --- (In reply to comment #0) > Hi! > > I would be interested in having the "gcc libraries" statically linked to my > binary, but still use one shared-object (a commercial library for which no > static version is available), so '-static' is not really an option, as far as > I > can tell... e.g. libfoo.so is a commercial shared library. $ ldd libfoo.so libc.so.6 => /lib64/libc.so.6 (0x2b388050d000) /lib64/ld-linux-x86-64.so.2 (0x4000) $ cat exec.c extern void foo(); int main() { foo(); return 0; } $ gcc exec.c -o exec -static-libgcc -Wl,-rpath,. -L. -lfoo $ ldd exec libfoo.so => ./libfoo.so (0x2b795f7fc000) libc.so.6 => /lib64/libc.so.6 (0x2b795f917000) /lib64/ld-linux-x86-64.so.2 (0x2b795f6e1000) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27419
[Bug driver/7516] Ambiguous driver behaviour with "-shared -static" cmd line options combination
--- Comment #3 from pluto at agmk dot net 2006-05-04 13:21 --- (In reply to comment #0) > $ ldd ./libfoo.so > /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40003000) > libc.so.6 => /lib/i686/libc.so.6 (0x40015000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2000) > > *** This is not what expected! *** i'm using a little workaround: gcc libfoo.c -o libfoo.so -shared -fPIC \ -nodefaultlibs -Wl,-Bstatic -lc -lgcc -lgcc_eh -lc $ ldd libfoo.so statically linked $ file libfoo.so libfoo.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped -- pluto at agmk dot net changed: What|Removed |Added CC| |pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7516
[Bug bootstrap/25672] cross build's libgcc picks up CFLAGS
--- Comment #6 from pluto at agmk dot net 2006-05-04 16:15 --- nobody cares about this bad flags pickup? (In reply to comment #5) > hmm, CFLAGS_FOR_TARGET picks up CFLAGS. > > --- gcc-4.1-20060106/Makefile.in.orig 2005-12-15 15:02:02.0 +0100 > +++ gcc-4.1-20060106/Makefile.in2006-01-08 19:27:18.406458250 +0100 > @@ -329,9 +329,9 @@ > # CFLAGS will be just -g. We want to ensure that TARGET libraries > # (which we know are built with gcc) are built with optimizations so > # prepend -O2 when setting CFLAGS_FOR_TARGET. > -CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) > +CFLAGS_FOR_TARGET = -O2 $(SYSROOT_CFLAGS_FOR_TARGET) > SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ > -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) > +CXXFLAGS_FOR_TARGET = -O2 $(SYSROOT_CFLAGS_FOR_TARGET) > LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) > LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates > LDFLAGS_FOR_TARGET = > nobody cares? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25672
[Bug middle-end/27414] IA64 bootstrap comparison failure, stage 2 -> 3
--- Comment #3 from pluto at agmk dot net 2006-05-04 16:18 --- (In reply to comment #0) > Hi, > > I just pulled from SVN and tried to build for IA64, and it fails with > > Comparing stages 2 and 3 > warning: ./cc1-checksum.o differs > Bootstrap comparison failure! > ./varasm.o differs > ./gcc.o differs > looks similiar to PR20586 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27414
[Bug bootstrap/25715] lack of gcc target headers inclusion.
--- Comment #1 from pluto at agmk dot net 2006-05-05 11:29 --- crossbuild of 4.1.1-20060504 (rev. 113515) for i686->ppc64 and x86-64->ppc64 works to me now. -- pluto at agmk dot net changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25715
[Bug bootstrap/25672] cross build's libgcc picks up CFLAGS
--- Comment #8 from pluto at agmk dot net 2006-05-05 11:52 --- patch posted: http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00204.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25672
[Bug other/27417] wrong code or aliasing violation with missed diagnostic?
--- Comment #4 from pluto at agmk dot net 2006-05-05 15:10 --- (In reply to comment #3) > You cannot. Though you can try extending c-common.c:strict_aliasing_warning > and > cp/typeck.c:build_reinterpret_cast_1 to warn in this case. sorry, but i don't know compiler internals to do this. btw, maybe we should collect in one PR examples of undetected aliasing violations for future work on better detection? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27417
[Bug c++/27533] wrong result after reinterpret_cast from float* to int*
--- Comment #1 from pluto at agmk dot net 2006-05-10 14:51 --- you're violating the aliasing rules, so use -fno-strict-aliasing option. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27533
[Bug c++/27533] wrong result after reinterpret_cast from float* to int*
--- Comment #5 from pluto at agmk dot net 2006-05-10 15:26 --- (In reply to comment #0) > The code > > inline int almost_equal(float a, float b, int maxUlps = 16) { > int intDiff = *(reinterpret_cast(&a)) - > *(reinterpret_cast(&b)); if you really need such casting and still use strict-aliasing you should rewrite almost_equal(). /*inline*/ int almost_equal( float a, float b ) { int ia; memcpy( &ia, &a, sizeof(int) ); int ib; memcpy( &ib, &b, sizeof(int) ); return ( ia - ib ); } compiler will optimize it nicely ;) : 0: 55 push %ebp 1: 89 e5 mov%esp,%ebp 3: 83 ec 10sub$0x10,%esp 6: 8b 45 08mov0x8(%ebp),%eax<=== 9: 2b 45 0csub0xc(%ebp),%eax<=== c: c9 leave d: c3 ret -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27533
[Bug other/27156] SIGSEGV in operator delete() / wrong-code?
--- Comment #12 from pluto at agmk dot net 2006-05-10 22:36 --- following reduced testcase works with libstdc++ and segv with stlport. #include #include struct A { }; int main() { std::list< A* > l; std::vector< A* > v( l.end(), l.end() ); return 0; } g++ testDrv.cpp -o testDrv -pthread -O2 -fstrict-aliasing -Wall ./testDrv g++ testDrv.cpp -o testDrv -I/usr/include/stlport -pthread \ -O2 -fstrict-aliasing -Wall -nodefaultlibs -lstlport -lc ./testDrv *** glibc detected *** ./testDrv: free(): invalid pointer: 0x2b96b71fb1c0 it looks like a stlport bug. -- pluto at agmk dot net changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156
[Bug other/27567] New: __builtin_memcpy generates redundant stores/moves.
float convert( unsigned in ) { float f; __builtin_memcpy( &f, &in, sizeof( in ) ); return f; } $ gcc bug.c -S -O2 -fverbose-asm -m64 convert: movl%edi, -4(%rsp) # in, f movl%edi, -20(%rsp) # in, in <=== what for this? movss -4(%rsp), %xmm0 # f, ret $ gcc bug.c -S -O2 -fverbose-asm -m32 convert: pushl %ebp# movl%esp, %ebp #, subl$16, %esp #, movl8(%ebp), %eax # in, in \ movl%eax, -4(%ebp) # in, f|--- why not flds 8(%ebp) ? flds-4(%ebp)# f/ leave ret -- Summary: __builtin_memcpy generates redundant stores/moves. Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: x86-*-linux GCC host triplet: x86-*-linux GCC target triplet: x86-*-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27567
[Bug other/27654] New: bogus/missed diagnostic at -Os.
gcc version 4.1.1 20060504 #include bool foo ( int k ) { std::string bar; // unused object. not detected. switch ( k ) { default: return false; break; // unreachable code. not detected. } } $ i486-gnu-linux-g++ bug1.cpp -c -Wall -Os bug1.cpp: In function 'bool foo(int)': bug1.cpp:11: warning: control reaches end of non-void function -- Summary: bogus/missed diagnostic at -Os. Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: i486-linux GCC host triplet: i486-linux GCC target triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27654
[Bug other/27654] bogous/missed diagnostic at -Os.
--- Comment #1 from pluto at agmk dot net 2006-05-18 10:12 --- #include bool foo( bool b1, bool b2 ) { std::string what; std::size_t size = what.size(); if ( b1 && size ) { if ( b2 ) return true; else return false; } else return false; } $ i486-gnu-linux-g++ bug2.cpp -c -Wall -Os bug2.cpp: In function 'bool foo(bool, bool)': bug2.cpp:15: warning: control reaches end of non-void function -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27654
[Bug other/27654] bogous/missed diagnostic at -Os.
--- Comment #2 from pluto at agmk dot net 2006-05-18 10:14 --- 3.3.6 doesn't report about 'control reaches...'. 4.0 and 4.2 not tested. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27654
[Bug bootstrap/27918] New: stage2 failed: broken linking / Relocations in generic ELF (EM: 62)
make boostrap (...) stage1/xgcc -Bstage1/ -B/local/devel/toolchain41/sparc-sun-solaris2.9/sparc-sun-solaris2.9/bin/ -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H -DGENERATOR_FILE -o build/genmodes \ build/genmodes.o build/errors.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a /local/devel/toolchain41/sparc-sun-solaris2.9/bin/sparc-sun-solaris2.9-ld: ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a(hashtab.o): Relocations in generic ELF (EM: 62) /local/devel/toolchain41/sparc-sun-solaris2.9/bin/sparc-sun-solaris2.9-ld: ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a(hashtab.o): Relocations in generic ELF (EM: 62) /local/devel/toolchain41/sparc-sun-solaris2.9/bin/sparc-sun-solaris2.9-ld: ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a(hashtab.o): Relocations in generic ELF (EM: 62) /local/devel/toolchain41/sparc-sun-solaris2.9/bin/sparc-sun-solaris2.9-ld: ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a(hashtab.o): Relocations in generic ELF (EM: 62) ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a: could not read symbols: File in wrong format note that `make all` works fine. -- Summary: stage2 failed: broken linking / Relocations in generic ELF (EM: 62) Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: x86_64-linux GCC host triplet: x86_64-linux GCC target triplet: sparc-sun-solaris2.9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27918
[Bug inline-asm/23399] ICE in create_tmp_var, at gimplify.c:387
--- Comment #3 from pluto at agmk dot net 2006-06-12 19:15 --- still ice. -- pluto at agmk dot net changed: What|Removed |Added Known to fail|2.95 3.0.4 3.2.2 4.0.0 3.4.0|2.95 3.0.4 3.2.2 4.0.0 3.4.0 |3.3.3 |3.3.3 4.1.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23399
[Bug bootstrap/25672] cross build's libgcc picks up CFLAGS
--- Comment #9 from pluto at agmk dot net 2006-06-17 19:24 --- patch posted on gcc-patches over month ago. still no response. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25672
[Bug target/28150] New: ICE in reload_cse_simplify_operands, at postreload.c:394
$ gcc lib_delegate.i -c -Wall -O lib_delegate.c: In function 'PackDelegateInvokeParams': lib_delegate.c:273: error: insn does not satisfy its constraints: (insn 205 104 105 9 (set (mem/c/i:TF (pre_inc:SI (reg/v/f:SI 29 29 [orig:119 ptr ] [119])) [0 nativeFloat+0 S16 A64]) (reg:TF 45 13)) 242 {*movtf_internal} (nil) (expr_list:REG_INC (reg/v/f:SI 29 29 [orig:119 ptr ] [119]) (nil))) lib_delegate.c:273: internal compiler error: in reload_cse_simplify_operands, at postreload.c:394 -- Summary: ICE in reload_cse_simplify_operands, at postreload.c:394 Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: ppc-linux GCC host triplet: ppc-linux GCC target triplet: ppc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150
[Bug target/28150] ICE in reload_cse_simplify_operands, at postreload.c:394
--- Comment #1 from pluto at agmk dot net 2006-06-24 09:23 --- Created an attachment (id=11740) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11740&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150
[Bug target/28150] ICE in reload_cse_simplify_operands, at postreload.c:394
--- Comment #3 from pluto at agmk dot net 2006-06-25 08:47 --- (In reply to comment #2) > How did you configure GCC becase having TFmode there sounds like you > configured > to have 128bit long double to be default. > $ gcc -v Reading specs from /usr/lib/gcc/ppc-pld-linux/4.1.2/specs Target: ppc-pld-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib --enable-shared --enable-threads=posix --enable-languages=c,c++,fortran,objc,obj-c++,ada,java --enable-c99 --enable-long-long --disable-multilib --enable-nls --disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-system-libunwind --enable-cmath --with-long-double-128 --enable-secureplt --with-gxx-include-dir=/usr/include/c++/4.1.2 --disable-libstdcxx-pch --enable-__cxa_atexit --enable-libstdcxx-allocator=new --with-qt4dir=/usr/lib/qt4 --disable-libjava-multilib --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo --enable-java-awt=qt,gtk,xlib --enable-jni --enable-xmlj --enable-alsa --enable-dssi ppc-pld-linux Thread model: posix gcc version 4.1.2 20060623 (prerelease) (PLD-Linux) glibc-2.4, kernel-2.6 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150
[Bug c++/26671] [4.0/4.1/4.2 Regression] Missing "warning: reference to local variable returned"
--- Comment #2 from pluto at agmk dot net 2006-06-28 08:56 --- following testcase doesn't generate warning in 4.1.2svn. 3.3.6 works fine. #include std::string const& foo() { std::string tab[ 1 ] = { std::string( "text" ) }; int const idx = 0; return tab[ idx ]; } -- pluto at agmk dot net changed: What|Removed |Added CC| |pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26671
[Bug other/28187] New: '-O2 -fwrapv' exhausts memory.
[ i486 ] gcc -O2 -fno-strict-aliasing -fwrapv -march=i486 -ggdb -DHAVE_POSIX_REGCOMP -c -o fetch.o fetch.c cc1: out of memory allocating 4064 bytes after a total of 1292098548 bytes [ powerpc ] gcc -O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb -DHAVE_POSIX_REGCOMP -c -o fetch.o fetch.c cc: Internal error: Killed (program cc1) flags to reporduce bug: '-O2 -fwrapv -march=i486' note that e.g. with -march=i686 it works fine. (gdb) bt #0 0x006bd510 in ggc_alloc_stat () #1 0x006a3e14 in make_node_stat () #2 0x006a6c76 in build2_stat () #3 0x00562056 in fold_build2_stat () #4 0x0055c83c in fold_binary () #5 0x00562040 in fold_build2_stat () #6 0x006c5adf in extract_range_from_assert () #7 0x006c6dcb in extract_range_from_expr () #8 0x006c9e9e in vrp_visit_assignment () #9 0x006cabfd in vrp_visit_stmt () #10 0x004a08f8 in simulate_stmt () #11 0x004a0bfa in process_ssa_edge_worklist () #12 0x004a1916 in ssa_propagate () #13 0x006cc3a4 in execute_vrp () #14 0x006c0199 in execute_one_pass () #15 0x006c022c in execute_pass_list () #16 0x006c0240 in execute_pass_list () #17 0x0045d12e in tree_rest_of_compilation () #18 0x0040cac3 in c_expand_body () #19 0x006fa50f in cgraph_expand_function () #20 0x006fa646 in cgraph_expand_all_functions () #21 0x006faa6b in cgraph_optimize () #22 0x0040debf in c_write_global_declarations () #23 0x006a2419 in compile_file () #24 0x006a38ed in do_compile () #25 0x006a394e in toplev_main () #26 0x0044a601 in main () -- Summary: '-O2 -fwrapv' exhausts memory. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: 486, powerpc GCC host triplet: 486, powerpc GCC target triplet: 486, powerpc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
[Bug other/28187] '-O2 -fwrapv' exhausts memory.
--- Comment #1 from pluto at agmk dot net 2006-06-28 12:46 --- Created an attachment (id=11768) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11768&action=view) i486 precompiled testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28187
[Bug target/28150] ICE in reload_cse_simplify_operands, at postreload.c:394
--- Comment #4 from pluto at agmk dot net 2006-06-29 09:36 --- this bug blocks portable.net developing. -- pluto at agmk dot net changed: What|Removed |Added Severity|normal |blocker http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150
[Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux
--- Comment #17 from pluto at agmk dot net 2006-06-29 18:33 --- PR28150 seems to be related. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864
[Bug target/28150] ICE in reload_cse_simplify_operands, at postreload.c:394
--- Comment #5 from pluto at agmk dot net 2006-06-29 19:27 --- reduced testcase: void foo( void* dst, void* src, int x ) { long double nativeFloat; void *ptr; if (x) { nativeFloat = (long double)(*((float*)src)); ptr = (void *)&nativeFloat; } else ptr = (void *)0; memcpy( dst, ptr, 1 ); } tmp.i:13: error: insn does not satisfy its constraints: (insn 54 26 27 1 (set (mem/c/i:TF (pre_inc:SI (reg/v/f:SI 9 9 [orig:119 ptr ] [119])) [4 nativeFloat+0 S16 A64]) (reg:TF 45 13)) 242 {*movtf_internal} (nil) (expr_list:REG_INC (reg/v/f:SI 9 9 [orig:119 ptr ] [119]) (nil))) tmp.i:13: internal compiler error: in reload_cse_simplify_operands, at postreload.c:394 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28150
[Bug other/28210] New: ICE in is_gimple_min_invariant at -O1.
$ i486-gnu-linux-g++ -c -O1 demux_rtp.ii demux_rtp.cpp: In function 'void afterReading(void*, unsigned int, unsigned int, timeval, unsigned int)': demux_rtp.cpp:421: internal compiler error: Segmentation fault (gdb) bt #0 0x004bfe60 in is_gimple_min_invariant () #1 0x00504a96 in replace_vuses_in () #2 0x00504f88 in substitute_and_fold () #3 0x004d7b79 in fini_copy_prop () #4 0x004d7bc6 in execute_copy_prop () #5 0x004d7bec in do_copy_prop () #6 0x0072297d in execute_one_pass () #7 0x00722a10 in execute_pass_list () #8 0x00722a24 in execute_pass_list () #9 0x004bf9da in tree_rest_of_compilation () #10 0x0046a4fa in expand_body () #11 0x00758dd3 in cgraph_expand_function () #12 0x00758f0a in cgraph_expand_all_functions () #13 0x0075932f in cgraph_optimize () #14 0x0043b7fe in cp_finish_file () #15 0x0040257e in finish_file () #16 0x004a530e in c_common_parse_file () #17 0x00704bd1 in compile_file () #18 0x007060d1 in do_compile () #19 0x00706132 in toplev_main () #20 0x004acead in main () -- Summary: ICE in is_gimple_min_invariant at -O1. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: i486-linux GCC host triplet: i486-linux GCC target triplet: i486-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28210
[Bug other/28210] ICE in is_gimple_min_invariant at -O1.
--- Comment #1 from pluto at agmk dot net 2006-06-30 13:34 --- Created an attachment (id=11785) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11785&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28210
[Bug ada/21952] Many attribute directive ignored warnings during Alpha bootstrap
--- Comment #11 from pluto at agmk dot net 2006-07-02 14:40 --- 4.1.2svn still broken. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21952
[Bug libgcj/24403] --enable-java-awt=qt fails to build
--- Comment #7 from pluto at agmk dot net 2006-07-03 00:08 --- Created an attachment (id=11803) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11803&action=view) updated build hack for mainline. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24403
[Bug other/28230] New: ICE during profiled bootstrap.
/home/users/pluto/rpm/BUILD/trunk/builddir/./gcc/xgcc -B/home/users/pluto/rpm/BUILD/trunk/builddir/./gcc/ -B/usr/x86_64-pld-linux/bin/ -B/usr/x86_64-pld-linux/lib/ -isystem /usr/x86_64-pld-linux/include -isystem /usr/x86_64-pld-linux/sys-include -O2 -O2 -O2 -fno-strict-aliasing -fwrapv -march=x86-64 -pipe -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libdecnumber -I../libdecnumber -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame-pointer -fno-asynchronous-unwind-tables -c ../../gcc/crtstuff.c -DCRT_BEGIN -o crtbegin.o ../../gcc/crtstuff.c:1: internal compiler error: Segmentation fault (gdb) set args -fpreprocessed crtstuff.i -quiet -dumpbase crtstuff.i -mtune=generic -auxbase crtstuff -version -o /tmp/ccenndGf.s (gdb) r Starting program: /home/users/pluto/rpm/BUILD/trunk/builddir/gcc/cc1 -fpreprocessed crtstuff.i -quiet -dumpbase crtstuff.i -mtune=generic -auxbase crtstuff -version -o /tmp/ccenndGf.s GNU C version 4.2.0 20060702 (experimental) (PLD-Linux) (x86_64-pld-linux) compiled by GNU C version 4.2.0 20060702 (experimental) (PLD-Linux). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Program received signal SIGSEGV, Segmentation fault. 0x0091cf26 in lshift_significand () (gdb) bt #0 0x0091cf26 in lshift_significand () #1 0x0091fbb4 in normalize () #2 0x00921b6c in real_from_integer () #3 0x0067f18f in init_emit_once () #4 0x0098f289 in toplev_main () #5 0x004a0c91 in main () $ ./xgcc -v Reading specs from /usr/lib64/gcc/x86_64-pld-linux/4.2.0/specs Target: x86_64-pld-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib64 --libexecdir=/usr/lib64 --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib64 --enable-shared --enable-threads=posix --enable-languages=c,c++,fortran,objc,obj-c++,java --enable-c99 --enable-long-long --enable-multilib --enable-nls --disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib64 --without-system-libunwind --enable-cmath --with-long-double-128 --with-gxx-include-dir=/usr/include/c++/4.2.0 --disable-libstdcxx-pch --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libjava-multilib --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo --enable-java-awt=qt,gtk,xlib --enable-jni --enable-xmlj --enable-alsa --enable-dssi --enable-bootstrap x86_64-pld-linux Thread model: posix gcc version 4.2.0 20060702 (experimental) (PLD-Linux) -- Summary: ICE during profiled bootstrap. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
[Bug other/28230] ICE during profiled bootstrap.
--- Comment #1 from pluto at agmk dot net 2006-07-03 11:24 --- without profiling boostrap fails too. Program received signal SIGSEGV, Segmentation fault. 0x0074c419 in lshift_significand (r=0xc97980, a=0xc97980, n=63) at ../../gcc/real.c:254 254 r->sig[SIGSZ-1-i] (gdb) p *r $2 = {cl = 1, decimal = 0, sign = 0, signalling = 0, canonical = 0, uexp = 1, sig = {0, 1, 9223372036854775808}} (gdb) p *a $3 = {cl = 1, decimal = 0, sign = 0, signalling = 0, canonical = 0, uexp = 1, sig = {0, 1, 9223372036854775808}} (gdb) bt #0 0x0074c419 in lshift_significand (r=0xc97980, a=0xc97980, n=63) at ../../gcc/real.c:254 #1 0x0074fcbc in real_from_integer (r=0xc97980, mode=DFmode, low=, high=1, unsigned_p=) at ../../gcc/real.c:2062 #2 0x005ac6e2 in init_emit_once (line_numbers=) at ../../gcc/emit-rtl.c:5194 #3 0x0079a18b in toplev_main (argc=, argv=) at ../../gcc/toplev.c:1825 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
[Bug c++/20681] [4.0/4.1/4.2 Regression] wrong "control reaches" warning with switches
--- Comment #15 from pluto at agmk dot net 2006-07-03 15:27 --- one more valid code rejected by 4.1/4.2: typedef enum { foo, bar } e; int zoo( e __e ) { switch ( __e ) { case foo: return -1; case bar: return +1; } } $ x86_64-gnu-linux-g++ bug.cpp -c -Wall -O2 bug.cpp: In function 'int zoo(e)': bug.cpp:9: warning: control reaches end of non-void function -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681
[Bug c++/20681] [4.0/4.1/4.2 Regression] wrong "control reaches" warning with switches
--- Comment #16 from pluto at agmk dot net 2006-07-03 15:30 --- (In reply to comment #15) > one more valid code rejected by 4.1/4.2: > > typedef enum { foo, bar } e; > int zoo( e __e ) > { > switch ( __e ) > { > case foo: return -1; > case bar: return +1; > } > } > > $ x86_64-gnu-linux-g++ bug.cpp -c -Wall -O2 > bug.cpp: In function 'int zoo(e)': > bug.cpp:9: warning: control reaches end of non-void function > ohh, 3.3.6 also fails. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681
[Bug c++/28236] New: wrong "control reaches" warning with enums.
typedef enum { foo, bar } e; int zoo( e __e ) { switch ( __e ) { case foo: return -1; case bar: return +1; } } bug.cpp: In function 'int zoo(e)': bug.cpp:9: warning: control reaches end of non-void function -- Summary: wrong "control reaches" warning with enums. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: x86-64-linux GCC host triplet: x86-64-linux GCC target triplet: x86-64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28236
[Bug c++/20681] [4.0/4.1/4.2 Regression] wrong "control reaches" warning with switches
--- Comment #18 from pluto at agmk dot net 2006-07-03 16:55 --- (In reply to comment #17) > (In reply to comment #16) > > ohh, 3.3.6 also fails. > > That is a different issue and really should be filed in a different bug. The > issue there is C++'s enums are only defined for those two values. reported in PR28236 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681
[Bug c++/28236] wrong "control reaches" warning with enums.
--- Comment #1 from pluto at agmk dot net 2006-07-03 17:00 --- zoo (__e) { int D.1616; : switch (__e) { case 0: goto ; case 1: goto ; default : goto ; < } :; D.1616 = -1; goto (); :; return; < problem. :; D.1616 = 1; :; return D.1616; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28236
[Bug other/28230] ICE during profiled bootstrap.
--- Comment #2 from pluto at agmk dot net 2006-07-04 21:16 --- works fine with BOOT_CFLAGS="-01" && STAGE1_CFLAGS="-O0". with BOOT_CFLAGS="-O2" ices as above. -- pluto at agmk dot net changed: What|Removed |Added GCC build triplet||x86-64-linux GCC host triplet||x86-64-linux GCC target triplet||x86-64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230
[Bug other/28264] New: broken gcc/config/soft-fp build.
(...) ../../gcc/config/soft-fp/floatsisf.c:36: warning: no previous prototype for '__floatsisf' /home/users/builder/rpm/BUILD/trunk/builddir/./gcc/xgcc -B/home/users/builder/rpm/BUILD/trunk/builddir/./gcc/ -B/usr/ppc-pld-linux/bin/ -B/usr/ppc-pld-linux/lib/ -isystem /usr/ppc-pld-linux/include -isystem /usr/ppc-pld-linux/sys-include -O2 -O2 -O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -specs=ldblspecs -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libdecnumber -I../libdecnumber -fvisibility=hidden -DHIDE_EXPORTS -c ../../gcc/config/soft-fp/floatunsisf.c -o libgcc/./floatunsisf.o ../../gcc/config/soft-fp/floatunsisf.c:37: warning: no previous prototype for '__floatunsisf' ../../gcc/config/soft-fp/floatunsisf.c: In function '__floatunsisf': ../../gcc/config/soft-fp/floatunsisf.c:42: warning: comparison of unsigned expression < 0 is always false /home/users/builder/rpm/BUILD/trunk/builddir/./gcc/xgcc -B/home/users/builder/rpm/BUILD/trunk/builddir/./gcc/ -B/usr/ppc-pld-linux/bin/ -B/usr/ppc-pld-linux/lib/ -isystem /usr/ppc-pld-linux/include -isystem /usr/ppc-pld-linux/sys-include -O2 -O2 -O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb -DIN_GCC-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -specs=ldblspecs -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libdecnumber -I../libdecnumber -fvisibility=hidden -DHIDE_EXPORTS -c ../../gcc/config/soft-fp/adddf3.c -o libgcc/./adddf3.o ../../gcc/config/soft-fp/adddf3.c:36: warning: no previous prototype for '__adddf3' make[3]: *** No rule to make target `../../gcc/config/soft-fp/divdf3.c', needed by `libgcc/./divdf3.o'. Stop. -- Summary: broken gcc/config/soft-fp build. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: powerpc-linux GCC host triplet: powerpc-linux GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28264
[Bug other/28264] broken gcc/config/soft-fp build.
--- Comment #4 from pluto at agmk dot net 2006-07-05 08:19 --- ohhh, now I see what's wrong. Out of Memory: Killed process 18248 (cc1). the PPC970FX box has 1GB ram + 1GB swap. i'll re-run build and try to reproduce this memory-hog. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28264
[Bug other/28264] broken gcc/config/soft-fp build.
--- Comment #5 from pluto at agmk dot net 2006-07-05 15:45 --- ok, my fault.(In reply to comment #4) > ohhh, now I see what's wrong. > > Out of Memory: Killed process 18248 (cc1). > > the PPC970FX box has 1GB ram + 1GB swap. > i'll re-run build and try to reproduce this memory-hog. bootstrapped successfully with -O1. with -O2 ./cc1 ICEs. -- pluto at agmk dot net changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28264
[Bug other/28272] New: ICE during bootstrap (possible wrong code at -O2).
(gdb) set args -fpreprocessed libgcc2.i -msecure-plt -quiet -dumpbase libgcc2.c -auxbase-strip libgcc/./_mulvsi3.o -ggdb -O2 -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version -fno-strict-aliasing -fwrapv -fsigned-char -fPIC -fvisibility=hidden -mlong-double-128 -o libgcc2.s (gdb) r Starting program: /home/users/builder2/rpm/BUILD/trunk/builddir/gcc/cc1 -fpreprocessed libgcc2.i -msecure-plt -quiet -dumpbase libgcc2.c -auxbase-strip libgcc/./_mulvsi3.o -ggdb -O2 -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version -fno-strict-aliasing -fwrapv -fsigned-char -fPIC -fvisibility=hidden -mlong-double-128 -o libgcc2.s GNU C version 4.2.0 20060702 (experimental) (PLD-Linux) (ppc-pld-linux) compiled by GNU C version 4.2.0 20060702 (experimental) (PLD-Linux). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 75f4895a665b7260834d23a9cf08bcc6 Program received signal SIGSEGV, Segmentation fault. mark_reg_store (reg=0xf7d2ee40, setter=, data=) at ../../gcc/global.c:1715 1715 SET_REGBIT (hard_reg_preferences, (gdb) bt #0 mark_reg_store (reg=0xf7d2ee40, setter=, data=) at ../../gcc/global.c:1715 #1 0x10372e10 in note_stores (x=0xf7d13c80, fun=0x104c38dc , data=0x0) at ../../gcc/rtlanal.c:1368 #2 0x104c988c in global_alloc () at ../../gcc/global.c:830 #3 0x104c9bf4 in rest_of_handle_global_alloc () at ../../gcc/global.c:2509 #4 0x103d8b08 in execute_one_pass (pass=0x106c8c4c) at ../../gcc/passes.c:864 #5 0x103d8ccc in execute_pass_list (pass=0x106c8c4c) at ../../gcc/passes.c:911 #6 0x103d8ce4 in execute_pass_list (pass=0x106c60c8) at ../../gcc/passes.c:912 #7 0x100a42a4 in tree_rest_of_compilation (fndecl=0xf7d21100) at ../../gcc/tree-optimize.c:418 #8 0x1000e22c in c_expand_body (fndecl=0x) at ../../gcc/c-decl.c:6743 #9 0x10439a24 in cgraph_expand_function (node=0xf7d28700) at ../../gcc/cgraphunit.c:1112 #10 0x1043cbc0 in cgraph_optimize () at ../../gcc/cgraphunit.c:1177 #11 0x10019e24 in c_write_global_declarations () at ../../gcc/c-decl.c:7858 #12 0x1039d330 in toplev_main (argc=, argv=) at ../../gcc/toplev.c:1012 #13 0x1007fa50 in main (argc=-1, argv=0x107a155c) at ../../gcc/main.c:35 (gdb) p *reg $1 = {code = REG, mode = SImode, jump = 0, call = 0, unchanging = 0, volatil = 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0, u = {fld = {{rt_int = 125, rt_uint = 125, rt_str = 0x7d , rt_rtx = 0x7d, rt_rtvec = 0x7d, rt_type = 125, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0x7d, rt_bit = 0x7d, rt_tree = 0x7d, rt_bb = 0x7d, rt_mem = 0x7d, rt_reg = 0x7d, rt_constant = 0x7d}}, hwint = {536870912125}, block_sym = {fld = {{rt_int = 125, rt_uint = 125, rt_str = 0x7d , rt_rtx = 0x7d, rt_rtvec = 0x7d, rt_type = 125, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0x7d, rt_bit = 0x7d, rt_tree = 0x7d, rt_bb = 0x7d, rt_mem = 0x7d, rt_reg = 0x7d, rt_constant = 0x7d}, {rt_int = 125, rt_uint = 125, rt_str = 0x7d , rt_rtx = 0x7d, rt_rtvec = 0x7d, rt_type = 125, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0x7d, rt_bit = 0x7d, rt_tree = 0x7d, rt_bb = 0x7d, rt_mem = 0x7d, rt_reg = 0x7d, rt_constant = 0x7d}, {rt_int = 0, rt_uint = 0, rt_str = 0x0, rt_rtx = 0x0, rt_rtvec = 0x0, rt_type = VOIDmode, rt_addr_diff_vec_flags = {min_align = 0, base_after_vec = 0, min_after_vec = 0, max_after_vec = 0, min_after_base = 0, max_after_base = 0, offset_unsigned = 0, scale = 0}, rt_cselib = 0x0, rt_bit = 0x0, rt_tree = 0x0, rt_bb = 0x0, rt_mem = 0x0, rt_reg = 0x0, rt_constant = 0x0}}, block = 0xafafafaf, offset = -5787213827046133841}, rv = {cl = 0, decimal = 0, sign = 0, signalling = 0, canonical = 0, uexp = 125, sig = {125, 0, 2947526575, 2947526575, 2947526575 -- Summary: ICE during bootstrap (possible wrong code at -O2). Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: powerpc-linux GCC host triplet: powerpc-linux GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28272
[Bug other/28264] broken gcc/config/soft-fp build.
--- Comment #6 from pluto at agmk dot net 2006-07-05 15:48 --- (In reply to comment #5) > with -O2 ./cc1 ICEs. for more details see PR28272 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28264
[Bug other/28272] ICE during bootstrap (possible wrong code at -O2).
--- Comment #1 from pluto at agmk dot net 2006-07-05 15:53 --- Created an attachment (id=11834) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11834&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28272
[Bug other/28272] ICE during bootstrap (possible wrong code at -O2).
--- Comment #3 from pluto at agmk dot net 2006-07-05 17:06 --- (In reply to comment #2) > When you file a bug about bootstrap failure, can you the following > information: > How you configured? Reading specs from ./specs Target: ppc-pld-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib --enable-shared --enable-threads=posix --enable-languages=c --enable-c99 --enable-long-long --disable-multilib --enable-nls --disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-system-libunwind --without-x --with-long-double-128 --enable-secureplt --enable-bootstrap ppc-pld-linux Thread model: posix gcc version 4.2.0 20060702 (experimental) (PLD-Linux) > How did you invoke make? /usr/bin/make -C builddir GCJFLAGS="-O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb" \ BOOT_CFLAGS="-O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb" \ STAGE1_CFLAGS="-O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb -O0" \ GNATLIBCFLAGS="-O2 -fno-strict-aliasing -fwrapv -fsigned-char -ggdb" \ LDFLAGS_FOR_TARGET="" with -O1 it builds. > What environment variable were set that could affect the options like CFLAGS? none. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28272
[Bug tree-optimization/28210] ICE in is_gimple_min_invariant at -O1.
--- Comment #3 from pluto at agmk dot net 2006-07-16 20:27 --- it works for me with 4.1.2 revision 115366. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28210
[Bug other/38108] New: broken c++ diagnostics?
$ g++ 0.ii -c 0.ii:106872: error: declaration of 'class R' 0.ii:106610: error: shadows template parm 'class R' ^^^ this looks weird for me. 0.ii:106886: error: declaration of 'class R' 0.ii:106610: error: shadows template parm 'class R' 0.ii:106890: error: invalid use of incomplete type 'class boost::function0' 0.ii:106614: error: declaration of 'class boost::function0' 0.ii:106901: error: declaration of 'class R' 0.ii:106610: error: shadows template parm 'class R' 0.ii:106907: error: 'void boost::function0::operator==(const boost::function0&, const boost::function0&)' must take exactly one argument 0.ii:106908: error: declaration of 'class R' 0.ii:106610: error: shadows template parm 'class R' 0.ii:106914: error: 'void boost::function0::operator!=(const boost::function0&, const boost::function0&)' must take exactly one argument 0.ii:106915: error: declaration of 'class R' 0.ii:106610: error: shadows template parm 'class R' 0.ii:106923: error: 'struct boost::function::clear_type' redeclared with different access 0.ii:106996: error: 'class boost::function' redeclared with different access 0.ii:107006: error: expected unqualified-id before 'namespace' 0.ii:119277: error: expected '}' at end of input -- Summary: broken c++ diagnostics? Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38108
[Bug other/38108] broken c++ diagnostics?
--- Comment #1 from pluto at agmk dot net 2008-11-13 21:22 --- Created an attachment (id=1) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=1&action=view) testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38108
[Bug other/38108] broken c++ diagnostics?
--- Comment #2 from pluto at agmk dot net 2008-11-13 22:06 --- arghh, this hell of macros in boost is broken. sorry for the noise. -- pluto at agmk dot net changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID Summary|broken c++ diagnostics? |broken c++ diagnostics? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38108
[Bug libstdc++/28811] --with-pic vs static libraries and libstdc++
--- Comment #13 from pluto at agmk dot net 2008-11-14 00:32 --- (In reply to comment #10) > If no and --with-pic builds everything twice and it is possible to compile > the *.o's intended for libstdc++.so with -DSHARED, i thought about something like this: $ cat makefile SRCS := test.cpp all: libtest.so libtest.a libtest.so: $(SRCS:.cpp=.os) g++ -shared -o $@ $< libtest.a: $(SRCS:.cpp=.o) ar cr $@ $< %.os: %.cpp g++ -c -fpic -DSHARED -o $@ $< %.o: %.cpp g++ -c -fpic -o $@ $< but i can't transform it into autotools templates :/ i saw that elfutils does such trick within src/makefile.am. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28811
[Bug java/38298] New: libjava link failures.
during building latest 4.4 snapshot i've got a linker error: (...) /bin/sh ./libtool --tag=GCJ --mode=link /home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/gcc/gcj -B/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava/ -B/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/gcc/ -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava -fomit-frame-pointer -O2 -march=x86-64 -Wl,--as-needed -Wl,-z,relro -Wl,-z,combreloc -o grmic --main=gnu.classpath.tools.rmic.Main -rpath /usr/lib64/../lib64 -shared-libgcc -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava/.libs libgcj-tools.la libtool: link: /home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/gcc/gcj -B/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava/ -B/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/gcc/ -fomit-frame-pointer -O2 -march=x86-64 -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,combreloc -o .libs/grmic --main=gnu.classpath.tools.rmic.Main -shared-libgcc -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava/.libs -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081121/builddir/x86_64-pld-linux/libjava ./.libs/libgcj-tools.so -Wl,-rpath -Wl,/usr/lib64/../lib64 ./.libs/libgcj-tools.so: undefined reference to `fmod' collect2: ld returned 1 exit status make[3]: *** [grmic] Error 1 -- Summary: libjava link failures. Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298
[Bug target/38320] New: missed movd opcode (32bits mm -> r/m32).
#include int foo( __m64 x ) { int y; __builtin_memcpy( &y, &x, sizeof( y ) ); return y; } gcc movd.c -O2 -S produces: foo:movq%xmm0, -24(%rsp) movl-24(%rsp), %eax ret while 'movd xmm0, eax' was expected. -- Summary: missed movd opcode (32bits mm -> r/m32). Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38320
[Bug target/38320] missed movd opcode (32bits mm -> r/m32).
--- Comment #2 from pluto at agmk dot net 2008-11-30 10:23 --- (In reply to comment #1) > You need -mtune=core to generate "movd %xmm0, %rax". Gcc 4.4 works. is movd faster only on core2 architecture? and what about 32-bits? $ /opt/gcc44/bin/gcc movd.c -O2 -S -march=core2 -m32 foo:pushl %ebp movl%esp, %ebp subl$16, %esp movq%mm0, -16(%ebp)<===? movd mm0, eax movl-16(%ebp), %eax<===/ leave ret -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38320
[Bug other/38388] New: parallel install failures in install-{libiberty,gnatlib}
during -j8 install i can observe failures. -- Summary: parallel install failures in install-{libiberty,gnatlib} Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38388
[Bug other/38388] parallel install failures in install-{libiberty,gnatlib}
--- Comment #1 from pluto at agmk dot net 2008-12-03 18:34 --- Created an attachment (id=16820) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16820&action=view) log -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38388
[Bug other/38388] parallel install failures in install-{libiberty,gnatlib}
--- Comment #2 from pluto at agmk dot net 2008-12-03 18:34 --- Created an attachment (id=16821) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16821&action=view) log -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38388
[Bug other/38388] parallel install failures in install-{libiberty,gnatlib}
--- Comment #3 from pluto at agmk dot net 2008-12-03 18:35 --- this is a trunk/r142396 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38388
[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.
--- Comment #1 from pluto at agmk dot net 2008-12-12 11:37 --- Created an attachment (id=16897) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16897&action=view) testcase. to reproduce bug you also need the boost-1.37.0 headers. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug middle-end/38503] New: [4.4 regression] warnings from -isystem headers strikes back.
/local/devel/toolchain44/x86_64-gnu-linux/bin/x86_64-gnu-linux-g++ -dumpversion 4.4.0 /local/devel/toolchain44/x86_64-gnu-linux/bin/x86_64-gnu-linux-g++ -c -Wall -O2 -g0 -fPIC --save-temps \ -isystem ./buildenv/linux/gcc-4.4/64/boost-stlport-1.37.0/include \ bug.cpp bug.cpp: In function 'void foo()': bug.cpp:6: warning: dereferencing pointer '' does break strict-aliasing rules ./buildenv/linux/gcc-4.4/64/boost-stlport-1.37.0/include/boost/optional/optional.hpp:315: note: initialized from here bug.cpp:6: warning: dereferencing pointer '' does break strict-aliasing rules ./buildenv/linux/gcc-4.4/64/boost-stlport-1.37.0/include/boost/optional/optional.hpp:594: note: initialized from here on 4.3.2 it compiles cleanly. -- Summary: [4.4 regression] warnings from -isystem headers strikes back. Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug c++/28786] No way set visibility of typeinfo without setting VTT and vtable similarly
--- Comment #3 from pluto at agmk dot net 2008-12-23 11:54 --- (In reply to comment #0) > There is currently no way to set the visibility of the typeinfo, except by > setting the visibility of the VTT and vtable. isn't -fvisibility-ms-compat (from recent gcc) enough for you? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28786
[Bug c++/38610] New: local objects not hidden with -fvisibility=hidden.
void __attribute__((visibility("default"))) foo() { struct local_ex { virtual ~local_ex() {} }; try { throw local_ex(); } catch ( local_ex const& ) {} } 13: 0b5017 OBJECT WEAK DEFAULT 13 _ZTSZ3foovE8local_ex 16: 00200ce032 OBJECT WEAK DEFAULT 20 _ZTVZ3foovE8local_ex 17: 0a7097 FUNCGLOBAL DEFAULT 11 _Z3foov 19: 00200cc016 OBJECT WEAK DEFAULT 20 _ZTIZ3foovE8local_ex is it an expected behaviour (visible local_ex symbols) or a bug? -- Summary: local objects not hidden with -fvisibility=hidden. Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38610
[Bug libgcj/38298] libjava link failures.
--- Comment #3 from pluto at agmk dot net 2008-12-24 12:57 --- passing -Wl,--as-needed to LDFLAGS_FOR_TARGET causing this failure. 4.3 works fine with --as-needed. -- pluto at agmk dot net changed: What|Removed |Added Known to fail||4.4.0 Known to work||4.3.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298
[Bug libgcj/38298] libjava link failures.
--- Comment #5 from pluto at agmk dot net 2008-12-24 17:02 --- (In reply to comment #4) > Not a GCC bug, please report this to the binutils project which controls ld. > link failure with --as-needed is not a linker bug. it's strictly related to bugs in makefiles. i'll analyze gcc build logs and post conclusions... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298
[Bug other/35857] --disable-shared doesn't install libgcc_eh.a
--- Comment #2 from pluto at agmk dot net 2008-12-29 09:32 --- (In reply to comment #1) > IIRC libgcc_eh.a is only needed for shared targets. > e.g., stlport configured with --enable-static --use-static-gcc needs static -lgcc_eh, -lgcc and -lsupc++ to self-link. it uses only shared libc components and doesn't require any .so from gcc. ldd libstlport.so.5.2.1 linux-vdso.so.1 => (0x7fffae1ff000) libpthread.so.0 => /lib64/libpthread.so.0 (0x7fb0a5b77000) libc.so.6 => /lib64/libc.so.6 (0x7fb0a581f000) libm.so.6 => /lib64/libm.so.6 (0x7fb0a559c000) /lib64/ld-linux-x86-64.so.2 (0x7fb0a6045000) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35857
[Bug libgcj/38298] libjava link failures.
--- Comment #6 from pluto at agmk dot net 2008-12-29 09:59 --- during standard build (w/o --as-needed) the libgcj-tools.so is linked in the following way: (...) libtool: link: /home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/xgcc -shared-libgcc -B/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -nostdinc++ -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs -B/usr/x86_64-pld-linux/bin/ -B/usr/x86_64-pld-linux/lib/ -isystem /usr/x86_64-pld-linux/include -isystem /usr/x86_64-pld-linux/sys-include -shared -nostdlib /usr/lib/../lib64/crti.o /home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtbeginS.o classpath/tools/.libs/libgcj_tools_la-tools.o -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libjava -L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -L/lib/../lib64 -L/usr/lib/../lib64 -lc -lgcc_s /home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtendS.o /usr/lib/../lib64/crtn.o -march=x86-64 -Wl,-z -Wl,relro -Wl,-z -Wl,combreloc -Wl,--version-script=../../../libjava/libgcj.ver -Wl,-Bsymbolic-functions -Wl,-soname -Wl,libgcj-tools.so.10 -o .libs/libgcj-tools.so.10.0.0 $ ldd -r x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0 linux-vdso.so.1 => (0x7fffa2fff000) libc.so.6 => /lib64/libc.so.6 (0x2abf084bc000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x2abf08813000) /lib64/ld-linux-x86-64.so.2 (0x2abf07b02000) undefined symbol: _Jv_charClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_floatClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_shortClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_byteClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_booleanClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_doubleClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_longClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_intClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _ZTVN4java4lang5ClassE (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_ThrowAbstractMethodError (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: __gcj_personality_v0 (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_IsInstanceOf (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_NewPrimArray (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_Throw (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_CheckArrayStore (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_CheckCast (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_LookupInterfaceMethodIdx (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_RegisterResource (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_NewMultiArray (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_ResolvePoolEntry (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_AllocObjectNoFinalizer (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_ThrowNoSuchFieldError (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_ThrowBadArrayIndex (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_ThrowNullPointerException (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: fmod (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_InitClass (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_MonitorExit (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_NewObjectArray (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_MonitorEnter (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) undefined symbol: _Jv_AllocObject (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0) $ cat x86_64-pld-linux/libjava/.libs/libgcj-tools.la # libgcj-tools.la - a libtool library file # Generated by ltmain.sh (GNU libtool) 2.2.6 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libgcj-tools.so.10' # Names of this library. library_nam
[Bug libgcj/38298] libjava link failures.
--- Comment #8 from pluto at agmk dot net 2008-12-29 14:28 --- Created an attachment (id=17000) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17000&action=view) full log (configure & build without --as-needed flag). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298
[Bug c++/38764] New: bogus 'changes meaning' error?
following code snipet is reducted testcase from external application. g++ and comeau online accept/reject source differently. template < class T > struct A { }; template < class U > struct B { #if 1 typedef A< float > A; // <-- accepted by comeau but... // g++: error: declaration of typedef struct A B::A // g++: error: changes meaning of A from struct A #else typedef ::A< float > A; // <-- accepted by g++ but... // comeau: class member typedef may not be redeclared // typedef ::A< float > A; // ^ #endif }; -- Summary: bogus 'changes meaning' error? Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38764
[Bug c++/38764] bogus 'changes meaning' error?
--- Comment #2 from pluto at agmk dot net 2009-01-08 12:56 --- (In reply to comment #1) > I suggest filing a problem report with Comeau. EDG accepts both in > -strict_ansi mode. > i've tested it on comeau online to verify g++ behaviour :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38764
[Bug c++/38764] bogus 'changes meaning' error?
--- Comment #4 from pluto at agmk dot net 2009-01-09 19:39 --- as mentioned, gcc is correct. -- pluto at agmk dot net changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38764
[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.
--- Comment #4 from pluto at agmk dot net 2009-01-09 19:52 --- Created an attachment (id=17067) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17067&action=view) preprocessed testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug middle-end/38808] New: another warning from system headers.
$ g++ -m32 -Wall -O2 -g0 -std=c++0x bug.ii -c -o /dev/null ../../../buildenv/linux/gcc-4.3/32/STLport-5.2.1/include/stlport/stl/_algo.c: In member function ‘void sms::TbRunner::uClockChanged()’: ../../../buildenv/linux/gcc-4.3/32/STLport-5.2.1/include/stlport/stl/_algo.c:962: warning: array subscript is above array bounds buildenv libraries were specified by -isystem for preprocessing. -- Summary: another warning from system headers. Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: i486-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38808
[Bug middle-end/38808] another warning from system headers.
--- Comment #1 from pluto at agmk dot net 2009-01-11 22:49 --- Created an attachment (id=17073) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17073&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38808
[Bug middle-end/38808] another warning from system headers.
--- Comment #2 from pluto at agmk dot net 2009-01-12 09:02 --- btw. this bug doesn't occur on x86-64. buggy vrp/array-checking? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38808
[Bug libstdc++/38477] [strict-aliasing] warning message contains compiler-generated symbols
--- Comment #13 from pluto at agmk dot net 2009-01-12 14:43 --- (In reply to comment #12) > This isn't really a warning from system headers: > > test.cpp:14: warning: dereferencing pointer '__x.13' does break > strict-aliasing > rules > > the location for the dereference is in test.cpp (if that is correct or not > is another issue). There is at least a bug that we will emit the note: part > even if the warning was suppressed - I am going to fix that. > > I can omit the warning for pointers that are declared in system headers > in addition to that. Probably this is what is the better behavior - but > I cannot easily report the dereference location even if it is in a system > header but the pointer is _not_ from a system header -- which is probably > what would be wanted here. > > So, > > t.h: > #pragma GCC system_header > > inline float deref_float (float *p) { return *p; } > > t.C: > #include "t.h" > > float transform(int i) > { > return deref_float ((float *)&i); > } > > _should_ emit a warning? Even if it looks like > > t.h: In function 'float transform(int)': > t.h:3: warning: dereferencing pointer 'i.0' does break strict-aliasing rules > t.C:5: note: initialized from here > > ? > > IMHO we want to warn unless _both_, the declaration and the dereference is > in a system header. > this will be painfull for users, e.g. boost::optional uses so called aligned_storage via mistic void*/casts/etc and now i'm getting these warnings from boost-system-headers. in this way, the -isystem switch is completely useless. -- pluto at agmk dot net changed: What |Removed |Added CC||pluto at agmk dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38477
[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.
--- Comment #6 from pluto at agmk dot net 2009-01-12 15:01 --- Created an attachment (id=17077) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17077&action=view) full testcase (src + .ii + mkefile) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.
--- Comment #7 from pluto at agmk dot net 2009-01-12 15:10 --- (In reply to comment #5) > I can't seem to compile the preprocessed source: i've attached a new full archive. $ make rm -f *.ii *.o *.s /local/devel/toolchain44/x86_64-gnu-linux/bin/x86_64-gnu-linux-g++ -c -Wall -O2 -g0 -fPIC --save-temps -isystem ./sys-headers bug.cpp bug.cpp: In function 'void foo()': bug.cpp:6: warning: dereferencing pointer '' does break strict-aliasing rules ./sys-headers/boost/optional/optional.hpp:315: note: initialized from here bug.cpp:6: warning: dereferencing pointer '' does break strict-aliasing rules ./sys-headers/boost/optional/optional.hpp:594: note: initialized from here > Note that the warning is from bug.cpp:6, not a system header anyway looks weird, because i can't see any dereferencing in bug.cpp:6 there's only trivial cctor which copies an enum. for me it looks like the comes from boost::optional:: ::aligned_storage::adress() manipulations inside boost system headers. > (the _note_ is from a system header, do you want that to disappear?) i want to disappear'em all :-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.
--- Comment #10 from pluto at agmk dot net 2009-01-14 18:29 --- (In reply to comment #9) > I just installed a fix - can you verify if all the annoying warnigns are > gone? > Thx! > they are still there. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38503
[Bug libstdc++/38919] New: math_stubs_long_double.cc: error: redefinition of 'long double ...'
building 4.4 snap with mingw-w64-snapshot-20081115.tar.bz2 ends with: (...) libtool: compile: /home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/./gcc/xgcc -shared-libgcc -B/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/./gcc -nostdinc++ -L/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/libstdc++-v3/src -L/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/libstdc++-v3/src/.libs -L/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/winsup/mingw -L/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/winsup/w32api/lib -isystem /home/users/pluto/rpm/BUILD/gcc-4.4-20090116/winsup/mingw/include -isystem /home/users/pluto/rpm/BUILD/gcc-4.4-20090116/winsup/w32api/include -B/usr/x86_64-mingw32/bin/ -B/usr/x86_64-mingw32/lib/ -isystem /usr/x86_64-mingw32/include -isystem /usr/x86_64-mingw32/sys-include -I/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/libstdc++-v3/include/x86_64-mingw32 -I/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/BUILDDIR/x86_64-mingw32/libstdc++-v3/include -I/home/users/pluto/rpm/BUILD/gcc-4.4-20090116/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -fno-strict-aliasing -fwrapv -march=x86-64 -c ../../../../libstdc++-v3/src/math_stubs_long_double.cc -DDLL_EXPORT -DPIC -o .libs/math_stubs_long_double.o ../../../../libstdc++-v3/src/math_stubs_long_double.cc: In function 'long double fabsl(long double)': ../../../../libstdc++-v3/src/math_stubs_long_double.cc:40: error: redefinition of 'long double fabsl(long double)' /usr/x86_64-mingw32/include/math.h:181: error: 'long double fabsl(long double)' previously defined here ../../../../libstdc++-v3/src/math_stubs_long_double.cc: In function 'long double modfl(long double, long double*)': ../../../../libstdc++-v3/src/math_stubs_long_double.cc:172: error: redefinition of 'long double modfl(long double, long double*)' /usr/x86_64-mingw32/include/math.h:187: error: 'long double modfl(long double, long double*)' previously defined here make[4]: *** [math_stubs_long_double.lo] Error 1 -- Summary: math_stubs_long_double.cc: error: redefinition of 'long double ...' vs. /usr/x86_64-mingw32/include/math.h Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38919
[Bug other/38920] New: throwing ex. across dlls doesn't work.
$ x86_64-mingw32-g++ -v Reading specs from /usr/lib64/gcc/x86_64-mingw32/4.4.0/specs Target: x86_64-mingw32 Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --includedir=/usr/x86_64-mingw32/include --with-gnu-as --with-gnu-ld --with-sysroot=/usr/x86_64-mingw32 --enable-shared --enable-threads=win32 --disable-sjlj-exceptions --enable-languages=c,c++ --enable-c99 --enable-long-long --enable-decimal-float=yes --enable-multilib --enable-cmath --disable-nls --with-gnu-as --with-gnu-ld --with-mangler-in-ld --with-gxx-include-dir=/usr/x86_64-mingw32/include/c++/4.4.0 --disable-libstdcxx-pch --enable-__cxa_atexit --disable-libmudflap --disable-libssp --with-pkgversion=PLD-Linux --with-bugurl=http://bugs.pld-linux.org --build=x86_64-pld-linux --host=x86_64-pld-linux --target=x86_64-mingw32 Thread model: win32 gcc version 4.4.0 20090116 (experimental) (PLD-Linux) a simple testcase that throws an exception from test.dll into main.exe causes an error: d:\w64\main.exe This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. afaics the test.dll exports all these typeinfos: [Ordinal/Name Pointer] Table [ 0] _Z9exceptionv [ 1] _ZN2ExC1ERKSs [ 2] _ZN2ExC2ERKSs [ 3] _ZN2ExD0Ev [ 4] _ZN2ExD1Ev [ 5] _ZTI2Ex [ 6] _ZTISt13runtime_error [ 7] _ZTISt9exception [ 8] _ZTS2Ex [ 9] _ZTSSt13runtime_error [ 10] _ZTSSt9exception [ 11] _ZTV2Ex but the main.exe import only one symbol from test.dll: DLL Name: test.dll vma: Hint/Ord Member-Name Bound-To 13a70 0 _Z9exceptionv DLL Name: libgcc_s_1.dll vma: Hint/Ord Member-Name Bound-To 135ac 1 _Unwind_DeleteException 135c8 6 _Unwind_GetDataRelBase 135e4 9 _Unwind_GetIPInfo 135f8 10 _Unwind_GetLanguageSpecificData 1361c 11 _Unwind_GetRegionStart 13638 12 _Unwind_GetTextRelBase 13654 13 _Unwind_RaiseException 13670 14 _Unwind_Resume 13684 15 _Unwind_Resume_or_Rethrow 136a0 16 _Unwind_SetGR 136b0 17 _Unwind_SetIP 136c0 35 __deregister_frame_info 136dc 83 __register_frame_info full example attached. -- Summary: throwing ex. across dlls doesn't work. Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: x86_64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38920
[Bug other/38920] throwing ex. across dlls doesn't work.
--- Comment #1 from pluto at agmk dot net 2009-01-20 02:51 --- Created an attachment (id=17149) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17149&action=view) testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38920