[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Target|sparc64-sun-solaris2.* | Known to work||4.4.3 Host|sparc64-sun-solaris2.* | Target Milestone|--- |4.5.2 Summary|server/core_filters.c from |[4.5 regression] |apache httpd 2.2.17 |server/core_filters.c from |miscompiled with|apache httpd 2.2.17 |optimization -O3|miscompiled at -O3 Build|sparc64-sun-solaris2.* | Severity|normal |major --- Comment #16 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 08:58:47 UTC --- At least OpenSUSE and Mandriva Linux are affected by this issue, see: https://qa.mandriva.com/show_bug.cgi?id=61384 https://issues.apache.org/bugzilla/show_bug.cgi?id=50190 This looks indeed similar, thus recategorizing.
[Bug c++/46690] New: Using declaration of a dependent name
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690 Summary: Using declaration of a dependent name Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ilpoil...@hotmail.com Consider the following code: template typename T class A {public: typedef int C;}; template typename T class B: public AT { public: using typename AT::C; C operator[](int i) const { return 0; } }; int main() { Bint b; b[2]; return 0; } The compilation gives: test.cpp:9: error: ISO C++ forbids declaration of 'C' with no type test.cpp:9: error: expected ';' before 'operator' test.cpp:10: error: expected ';' before '}' token test.cpp: In function 'int main()': test.cpp:15: error: no match for 'operator[]' in 'b[2]' A discussion in comp.lang.c++ revealed that this feature was underspecified in C++03. I propose the using declaration either just to work, or report a proper error. To see the intent, consider the current wording for C++0x: From n3126 (C++0x draft from August 2010), §7.3.3: 20. If a using-declaration uses the keyword typename and specifies a dependent name (14.6.2), the name introduced by the using-declaration is treated as a typedef-name (7.1.3). So the work-around here is typedef typename AT::C C; which is equivalent. The code above is accepted at least by Visual Studio 2008, 2010, and Comeau C++, all in strict mode.
[Bug c++/46690] Using declaration of a dependent name
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690 --- Comment #1 from ilpoilves at hotmail dot com 2010-11-28 09:38:04 UTC --- Here is the result of gcc -v, which was left out by accident. Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 20100728 (prerelease) (Debian 4.4.4-8)
[Bug c++/46691] New: Null pointer in template deduction
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46691 Summary: Null pointer in template deduction Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ilpoil...@hotmail.com Have a look at the following code: template typename T struct identity { typedef T type; }; template typename T void f(T t, typename identityT::type* p) { } int main() { int a = 0; f(a, 0); return 0; } Compiling this on GCC 4.4.5 gives the following error: g++ test.cpp test.cpp: error: no matching function for call to 'f(int, int)' The 0 should match a null pointer. The code is accepted by Visual Studio 2008, 2010, and Comeau C++, all in strict mode. g++ -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.4-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 20100728 (prerelease) (Debian 4.4.4-8)
[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.11.28 10:19:54 AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com Ever Confirmed|0 |1
[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683 --- Comment #1 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2010-11-28 10:22:59 UTC --- Author: paolo Date: Sun Nov 28 10:22:55 2010 New Revision: 167219 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167219 Log: 2010-11-28 Paolo Carlini paolo.carl...@oracle.com PR libstdc++/46683 * testsuite/ext/profile/mh.cc: Move dg-require* directives to the end. * testsuite/ext/profile/all.cc: Likewise. Modified: trunk/libstdc++-v3/testsuite/ext/profile/all.cc trunk/libstdc++-v3/testsuite/ext/profile/mh.cc
[Bug libstdc++/46683] [4.6 Regression] FAIL: ext/profile/all.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46683 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 10:25:25 UTC --- Fixed.
[Bug libstdc++/46689] [4.6 Regression] FAIL: 20_util/shared_ptr/comparison/cmp.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46689 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 10:27:09 UTC --- Done.
[Bug c++/46691] Null pointer in template deduction
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46691 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 10:48:46 UTC --- Looks like yet another duplicate to me. *** This bug has been marked as a duplicate of bug 23055 ***
[Bug c++/23055] overload resolution does not find templated function (zero - pointer)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23055 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||ilpoilves at hotmail dot ||com --- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 10:48:47 UTC --- *** Bug 46691 has been marked as a duplicate of this bug. ***
[Bug fortran/42112] overloaded function with allocatable result problem
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42112 --- Comment #8 from Paul Thomas pault at gcc dot gnu.org 2010-11-28 11:17:03 UTC --- Tobias, (In reply to comment #7) (In reply to comment #6) One probably needs: a) If a is no TARGET: deallocate (a) f(a) At present, this is not done. I guess that it has to be done by the caller, rather than the callee, simply because of the issue with TARGET below. ... which has with -fno-realloc-lhs issues when bound checking is enabled. (I do not know whether we should care.) Surely, we should just not do the deallocate with -fno-realloc-lhs? b) If a is a TARGET f(tmp) memcpy(a,tmp) ... while this one can be optimized with realloc-lhs to a deallocate + pointer assignment if the size does not fit (rather than a malloc plus deep copying). I guess that this makes sense. It is very easily done. I'll put this on the TODO list, for fairly early implementation. I'll see what I can do with scalars, first. Paul
[Bug c++/46690] Using declaration of a dependent name
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46690 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Keywords||rejects-valid Status|UNCONFIRMED |NEW Last reconfirmed||2010.11.28 12:08:05 Ever Confirmed|0 |1 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2010-11-28 12:08:05 UTC --- With 4.5 you get a much better error: use.cc:9:5: error: ‘C’ does not name a type use.cc:9:5: note: (perhaps ‘typename AT::C’ was intended) use.cc: In function ‘int main()’: use.cc:15:8: error: no match for ‘operator[]’ in ‘b[2]’ But it should be accepted
[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488 --- Comment #17 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 12:28:27 UTC --- It appears that inlining brigade_move into ap_core_input_filter and ap_core_output_filter at -O3 causes (one of) the latter functions to be miscompiled with -fstrict-aliasing. The code uses clever type punning which seems to break C aliasing rules: /** * The Ring Sentinel * * This is the magic pointer value that occurs before the first and * after the last elements in the ring, computed from the address of * the ring's head. The head itself isn't an element, but in order to * get rid of all the special cases when dealing with the ends of the * ring, we play typecasting games to make it look like one. [...] #define APR_RING_SENTINEL(hp, elem, link)\ (struct elem *)((char *)((hp)-next) - APR_OFFSETOF(struct elem, link)) (hp)-next is struct elem* but it is accessed (its link field) as a struct elem through various macros: #define APR_RING_NEXT(ep, link)(ep)-link.next #define APR_RING_PREV(ep, link)(ep)-link.prev
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #13 from Uros Bizjak ubizjak at gmail dot com 2010-11-28 12:46:10 UTC --- Whoa. Negative logic should be banned from sources. Index: tree-ssa-loop-niter.c === --- tree-ssa-loop-niter.c(revision 167219) +++ tree-ssa-loop-niter.c(working copy) @@ -130,7 +130,7 @@ determine_value_range (tree type, tree v /* If the computation may wrap, we know nothing about the value, except for the range of the type. */ get_type_static_bounds (type, min, max); - if (!nowrap_type_p (type)) + if (nowrap_type_p (type)) return; /* Since the addition of OFF does not wrap, if OFF is positive, then we may
[Bug target/46692] New: Missing LM32 multilibs for divider and sign extender
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46692 Summary: Missing LM32 multilibs for divider and sign extender Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: sebastien.bourdeaud...@gmail.com Created attachment 22553 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22553 Fixes the problem Multilibs with the optional divider and the sign extender are missing for the LM32 target. Patch attached.
[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488 --- Comment #18 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-28 13:21:51 UTC --- Using #define APR_RING_SENTINEL(hp, elem, link)\ (struct elem *)((char *)(hp) - APR_OFFSETOF(struct elem, link)) should be safer wrt strict aliasing.
[Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810 --- Comment #11 from Paul Thomas pault at gcc dot gnu.org 2010-11-28 13:47:31 UTC --- Author: pault Date: Sun Nov 28 13:47:26 2010 New Revision: 167220 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167220 Log: 2010-11-28 Paul Thomas pa...@gcc.gnu.org PR fortran/35810 * trans-array.c (gfc_trans_array_constructor): If the loop-to is a VAR_DECL, assume this is dynamic. In this case, use the counter to obtain the value and set loop-to appropriately. (gfc_conv_ss_descriptor): Always save the offset of a variable in info.saved_offset. (gfc_conv_ss_startstride): Do not attempt bound checking of the lhs of an assignment, if allocatable and f2003 is allowed. (gfc_conv_loop_setup): If possible, do not use an allocatable lhs variable for the loopspec. (gfc_is_reallocatable_lhs): New function. (get_std_lbound): New function. (gfc_alloc_allocatable_for_assignment): New function. * gfortran.h : Add flag_realloc_lhs to the options structure. * lang.opt : Add option f(no-)realloc-lhs. * invoke.texi : Document option f(no-)realloc-lhs. * options.c (gfc_init_options, gfc_post_options, gfc_handle_option): Incorporate f(no-)realloc-lhs with default to frealloc_lhs for -std f95. * trans-array.h : Add primitive for previous. * trans-expr.c (gfc_conv_string_length): Return if character length is a variable and the expression is NULL. (gfc_conv_procedure_call): If the call is of the kind x = f(...) and the lhs is allocatable and reallocation on assignment OK, call gfc_alloc_allocatable_for_assignment. Do not generate the function call unless direct by reference. (realloc_lhs_loop_for_fcn_call): New function. (realloc_lhs_bounds_for_intrinsic_call): New function. (gfc_trans_arrayfunc_assign): Reallocation assignments need a loopinfo and for the loop bounds to be set. With intrinsic functions, free the lhs data and let the library allocate the data array. Done by the new functions above. (gfc_trans_assignment_1): If the lhs is allocatable and reallocation on assignment is allowed, mark the lhs and use gfc_alloc_allocatable_for_assignment to make the reallocation. * trans.h : Add is_alloc_lhs bitfield to gfc_ss structure. 2010-11-28 Paul Thomas pa...@gcc.gnu.org PR fortran/35810 * gfortran.dg/realloc_on_assign_1.f03: New test. * gfortran.dg/realloc_on_assign_2.f03: New test. * gfortran.dg/transpose_2.f90: dg-option -fno-realloc-lhs. * gfortran.dg/unpack_bounds_1.f90: The same. * gfortran.dg/cshift_bounds_2.f90: The same. * gfortran.dg/matmul_bounds_2.f90: The same. * gfortran.dg/matmul_bounds_3.f90: The same. * gfortran.dg/matmul_bounds_4.f90: The same. * gfortran.dg/matmul_bounds_5.f90: The same. Added: trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_1.f03 trunk/gcc/testsuite/gfortran.dg/realloc_on_assign_2.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/invoke.texi trunk/gcc/fortran/lang.opt trunk/gcc/fortran/options.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-array.h trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans-types.c trunk/gcc/fortran/trans.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/cshift_bounds_2.f90 trunk/gcc/testsuite/gfortran.dg/matmul_bounds_2.f90 trunk/gcc/testsuite/gfortran.dg/matmul_bounds_3.f90 trunk/gcc/testsuite/gfortran.dg/matmul_bounds_4.f90 trunk/gcc/testsuite/gfortran.dg/matmul_bounds_5.f90 trunk/gcc/testsuite/gfortran.dg/transpose_2.f90 trunk/gcc/testsuite/gfortran.dg/unpack_bounds_1.f90
[Bug target/46692] Missing LM32 multilibs for divider and sign extender
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46692 Ralf Corsepius corsepiu at gcc dot gnu.org changed: What|Removed |Added CC||corsepiu at gcc dot ||gnu.org, joel at oarcorp ||dot com --- Comment #1 from Ralf Corsepius corsepiu at gcc dot gnu.org 2010-11-28 14:27:13 UTC --- Would you mind to explain, why you need this, rsp. why the current default multilibs do not suffice your needs? Adding a multilibs to the default set of multilibs needs of a target needs to be very well motivated and can not be done light-heartedly. Knowing you actually are working with lm32-rtems and not with lm32-* targets, provided you can sufficiently motivate this change, raises the question if it would not actally be more appropriate to extend the lm32-rtems multilib set instead of the general set of multilibs.
[Bug middle-end/46647] Can't inline memset with -1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46647 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #13 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:33:01 UTC --- Fixed.
[Bug lto/46531] Many benchmarks in SPEC CPU 2006 are miscompiled by LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46531 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:34:56 UTC --- Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.
[Bug lto/46576] BFD linker plugin generates bad executables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46576 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:36:28 UTC --- Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.
[Bug lto/46531] Many benchmarks in SPEC CPU 2006 are miscompiled by LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46531 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug lto/46505] LTO miscompiled 416.gamess in SPEC CPU 2006
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46505 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:38:34 UTC --- Fixed as of revision 167184 with GNU BFD linker in CVS 2010-11-25.
[Bug c++/45114] implement C++0x alias-declaration
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45114 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||paolo.carlini at oracle dot ||com, vincenzo.innocente at ||cern dot ch --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2010-11-28 14:40:29 UTC --- Vincenzo is interested, let's add him in CC.
[Bug middle-end/46628] [4.6 Regression] FAIL: g++.dg/tree-prof/partition1.C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46628 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 14:42:48 UTC --- Fixed by revision 167208: http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg01098.html
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #9 from marcus at jet dot franken.de 2010-11-28 14:55:31 UTC --- (gdb) bt #0 0xe425 in __kernel_vsyscall () #1 0xf7d1eb46 in kill () from /lib/libc.so.6 #2 0x7efab485 in server_protocol_error (err=0x7efcfe71 write errnp=%d, reqfd=%d) at /home/marcus/projects/wine/dlls/ntdll/server.c:164 #3 0x7efab881 in send_request (req_ptr=0x6fd874) at /home/marcus/projects/wine/dlls/ntdll/server.c:215 #4 wine_server_call (req_ptr=0x6fd874) at /home/marcus/projects/wine/dlls/ntdll/server.c:289 #5 0x7efb1c10 in NtCreateEvent (EventHandle=0x6fd96c, DesiredAccess=2031619, attr=0x6fd950, type=NotificationEvent, InitialState=0 '\000') at /home/marcus/projects/wine/dlls/ntdll/sync.c:278 #6 0x7ed992bc in start_debugger_atomic (epointers=0x6fd9ac) at /home/marcus/projects/wine/dlls/kernel32/except.c:369 #7 UnhandledExceptionFilter (epointers=0x6fd9ac) at /home/marcus/projects/wine/dlls/kernel32/except.c:456 #8 0x7efc1ece in __wine_exception_handler (record=0x6fddf8, frame=0x6fea90, context=0x6fdb2c, pdispatcher=0x6fda80) at /home/marcus/projects/wine/dlls/winecrt0/exception.c:90 #9 0x7efac825 in call_exception_handler () from /usr/bin/../lib/wine/ntdll.dll.so #10 0x7efac7f7 in EXC_CallHandler () from /usr/bin/../lib/wine/ntdll.dll.so #11 0x7efaca2e in call_stack_handlers (rec=0x6fddf8, context=0x6fdb2c, first_chance=1) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:606 #12 raise_exception (rec=0x6fddf8, context=0x6fdb2c, first_chance=1) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:684 #13 0x7efaea0d in NtRaiseException (rec=0x6fddf8, context=0x6fdb2c, first_chance=1) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:2394 #14 0x7efaeb14 in raise_segv_exception (rec=0x6fddf8, context=0x6fdb2c) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:1720 #15 0xdeadbabe in ?? () #16 0x7dc812c5 in ?? () from /lib/libgcc_s.so.1 #17 0x7dc816ea in _Unwind_ForcedUnwind () from /lib/libgcc_s.so.1 #18 0xf7e6d032 in _Unwind_ForcedUnwind () from /lib/libpthread.so.0 #19 0xf7e6aa97 in __pthread_unwind () from /lib/libpthread.so.0 #20 0xf7e64a5e in pthread_exit () from /lib/libpthread.so.0 #21 0x7efb574b in exit_thread (status=5) at /home/marcus/projects/wine/dlls/ntdll/thread.c:369 #22 0x7efaee2d in RtlExitUserThread (status=5) at /home/marcus/projects/wine/dlls/ntdll/signal_i386.c:2488 #23 0x7edcf8b4 in ExitThread (code=5) at /home/marcus/projects/wine/dlls/kernel32/thread.c:155 #24 0x7dca7879 in ?? () #25 0x0005 in ?? () #26 0x in ?? () (the kill a kill(gettid(),SIGSTOP) from me.) So we basically exited our thread, closed the fd already ... and crash during the final unwinding. The crash wants to attach the debugger which does a server call which of course breaks as we jhave no server connetion anymore.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #14 from Uros Bizjak ubizjak at gmail dot com 2010-11-28 15:07:39 UTC --- Hm, no. The patch in comment #13 is not correct fix. However, the comment of bound_difference says that no overflows are assumed: /* Stores the bounds on the value of the expression X - Y in LOOP to BNDS. The subtraction is considered to be performed in arbitrary precision, without overflows. We do not attempt to be too clever regarding the value ranges of X and Y; most of the time, they are just integers or ssa names offsetted by integer. However, we try to use the information contained in the comparisons before the loop (usually created by loop header copying). */ static void bound_difference (struct loop *loop, tree x, tree y, bounds *bnds) And we have an overflow here (slightly modified test): --cut here-- #define OFFS 1 extern void abort (void); int j; void __attribute__((noinline)) foo (int n) { int npairs, i; npairs = n - (-__INT_MAX__ - OFFS); if (npairs 0) for (i = 0; i npairs; i++) j++; } int main () { foo (5 - __INT_MAX__ - OFFS); if (j != 5) abort (); return 0; } --cut here-- An interesting fact, the testcase is miscompiled only for OFFS={1,2,3}.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #10 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 15:23:22 UTC --- (In reply to comment #9) So we basically exited our thread, closed the fd already ... and crash during What caused the crash? the final unwinding. The crash wants to attach the debugger which does a server call which of course breaks as we jhave no server connetion anymore. If crash is independent of -fno-omit-frame-pointer, it is a bug in wine unwinder.
[Bug fortran/46262] [4.6 Regression] [OOP] tree check: expected function_type or method_type, have pointer_type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46262 --- Comment #7 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2010-11-28 15:23:56 UTC --- I believe I have this isolated to the changes in resolve.c Eliminating those changes in the offending patch eliminates the ICE. Of course, though the code compiles, it does not link.
[Bug c/46693] New: incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Summary: incorrect code generation with -O2 optimization enabled Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: geoma...@gmail.com
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 --- Comment #1 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 15:48:05 UTC --- Created attachment 22554 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22554 testcase code example
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 --- Comment #2 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 15:48:48 UTC --- Created attachment 22555 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22555 dumpspecs gcc dumpspecs
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 --- Comment #3 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 15:49:27 UTC --- Created attachment 22556 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22556 gcc version
[Bug fortran/46262] [4.6 Regression] [OOP] tree check: expected function_type or method_type, have pointer_type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46262 --- Comment #8 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2010-11-28 15:52:06 UTC --- Specifically, this line is involved with the problem. Index: resolve.c === --- resolve.c(revision 167220) +++ resolve.c(working copy) @@ -5739,7 +5739,6 @@ resolve_typebound_function (gfc_expr* e) e-symtree = expr-symtree; e-ref = gfc_copy_ref (expr-ref); gfc_add_vptr_component (e); - gfc_add_component_ref (e, name); e-value.function.esym = NULL; return SUCCESS; }
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #15 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 15:54:57 UTC --- (In reply to comment #14) Hm, no. The patch in comment #13 is not correct fix. However, the comment of bound_difference says that no overflows are assumed: /* Stores the bounds on the value of the expression X - Y in LOOP to BNDS. The subtraction is considered to be performed in arbitrary precision, without overflows. We do not attempt to be too clever regarding the value ranges of X and Y; most of the time, they are just integers or ssa names offsetted by integer. However, we try to use the information contained in the comparisons before the loop (usually created by loop header copying). */ static void bound_difference (struct loop *loop, tree x, tree y, bounds *bnds) And we have an overflow here (slightly modified test): --cut here-- #define OFFS 1 extern void abort (void); int j; void __attribute__((noinline)) foo (int n) { int npairs, i; npairs = n - (-__INT_MAX__ - OFFS); if (npairs 0) for (i = 0; i npairs; i++) j++; } int main () { foo (5 - __INT_MAX__ - OFFS); if (j != 5) abort (); return 0; } --cut here-- An interesting fact, the testcase is miscompiled only for OFFS={1,2,3}. Note that for OFFS 2 and 3 you invoke undefined behavior as -__INT_MAX__ - OFFS overflows. It doesn't for OFFS == 1 though, and there is no overflow in the program in that case. But writing it as n + -(-__INT_MAX__ - 1) has an overflow, the negation. I didn't yet try to investigate the number of iterations code, but I'll have a look tomorrow.
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target||arm-gnueabi --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 15:59:13 UTC --- Works for me on x86_64-darwin.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #16 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 16:10:08 UTC --- -- void foo (int n) { int npairs, i; npairs = n - (-__INT_MAX__ - 1); if (npairs 0) for (i = 0; i npairs; i++) j++; } -- is miscompiled. But -- void foo (int n) { int npairs, i; npairs = n - -2147483648; if (npairs 0) for (i = 0; i npairs; i++) j++; } -- isn't.
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 --- Comment #5 from Sergey Matyukevich geomatsi at gmail dot com 2010-11-28 16:12:47 UTC --- I am using an arm gcc cross-toolchain created with OpenEmbedded. Toolchain version and its dumpspecs are available in attachements. Wrong code for attached simple testcase is generated when I use -O2 optimization option. When optimization options are not used or when -O0 is in use then code is generated correctly. Running testcase is straightforward: compile an example with -O2 and without it, then run both examples (either on a suitable arm machine or under qemu) and get two different outputs (OK and WRONG) for two binaries.
[Bug target/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Component|c |target Severity|major |normal
[Bug c/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Sergey Matyukevich geomatsi at gmail dot com changed: What|Removed |Added Keywords||wrong-code Component|target |c Host||i686-linux Build||i686-linux Severity|normal |major
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #17 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 16:25:34 UTC --- For npairs = n - -2147483648; VRP1 concludes Value ranges after VRP: i_1: [0, 0] n_2(D): VARYING npairs_3: VARYING But for npairs = n + 2147483648; VRP1 concludes Value ranges after VRP: Value ranges after VRP: i_1: [0, +INF] n_2(D): VARYING n.0_3: [0, +INF] D.2691_4: [0, +INF] npairs_5: VARYING
[Bug target/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Sergey Matyukevich geomatsi at gmail dot com changed: What|Removed |Added Component|c |target Severity|major |normal
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #18 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:09:17 UTC --- Good gimple dump: unsigned int n.0; unsigned int D.2691; int j.1; int j.2; int npairs; int i; n.0 = (unsigned int) n; D.2691 = n.0 + 2147483648; npairs = (int) D.2691; if (npairs 0) goto D.2692; else goto D.2693; Bad gimple dump: int j.0; int j.1; int npairs; int i; npairs = n - -2147483648; if (npairs 0) goto D.2690; else goto D.2691;
[Bug driver/46694] New: driver does not pass all options to the compiler gnat1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46694 Summary: driver does not pass all options to the compiler gnat1 Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver AssignedTo: unassig...@gcc.gnu.org ReportedBy: rolf.ebert@gmx.de When invoking the compiler through the following command line, it does not pass the options '-g' '-gnatn' '-gnatpg' '-mmcu=avr2' the compiler gnat1. $ avr-gcc -c -v -v -g -Os -gnatn -gnatpg -mmcu=avr2 -I- s-bitops.adb Using built-in specs. Target: avr Configured with: ../gcc-4.4.5/configure --prefix=/mingw/avr_44_gnat --target=avr --enable-languages=ada,c,c++ --with-dwarf2 --disable-nls --disable-libssp --dis able-libada --with-bugurl=http://avr-ada.sourceforge.net --with-gmp=/mingw/avr_4 4_gnat --with-mpfr=/mingw/avr_44_gnat Thread model: single gcc version 4.4.5 (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-v' '-g' '-Os' '-gnatn' '-gnatpg' '-mmcu=avr2' c:/programme/msys_1.0/mingw/avr_44_gnat/bin/../libexec/gcc/avr/4.4.5/gnat1.exe -quiet -dumpbase s-bitops.adb -Os adainclude/s-bitops.adb -o C:\DOKUME~1\Rolf\LOKALE~1\Temp\ccKFxRRh.s s-bitops.adb:40:01: descendents of package System may not be compiled Cross checking a command line that calls cc1 passes all options on to the compiler. Where should I start to look at in the driver? The specs file doesn't exist anymore. Rolf
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #19 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:20:23 UTC --- Good original dump: int npairs; int i; int npairs; int i; npairs = (int) ((unsigned int) n + 2147483648); Bad dump: int npairs; int i; int npairs; int i; npairs = n - -2147483648; We seem to fail to handle overflow for - -2147483648 at very start.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #20 from rguenther at suse dot de rguenther at suse dot de 2010-11-28 17:22:58 UTC --- On Sun, 28 Nov 2010, hjl.tools at gmail dot com wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #19 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:20:23 UTC --- Good original dump: int npairs; int i; int npairs; int i; npairs = (int) ((unsigned int) n + 2147483648); Bad dump: int npairs; int i; int npairs; int i; npairs = n - -2147483648; We seem to fail to handle overflow for - -2147483648 at very start. Both dumps are ok, but writing n - -2147483648 makes it unsigned (you can't literally write INT_MIN). You're on the wrong track. Richard.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #21 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 17:58:49 UTC --- Does this: [...@gnu-6 bad]$ cat x.c.083t.forwprop3 ;; Function foo (foo) Replaced 'npairs_3 0' with 'n_2(D) != -2147483648' foo (int n) { int npairs; int j.1; int j.0; bb 2: if (n_2(D) != -2147483648) goto bb 3; else goto bb 4; bb 3: Invalid sum of incoming frequencies 10900, should be 1 j.0_5 = j; j.1_6 = j.0_5 + 1; j = j.1_6; goto bb 3; bb 4: Invalid sum of incoming frequencies 213, should be 1113 return; } look OK?
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #22 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 18:12:14 UTC --- fold_binary_loc turns npairs = n - -2147483648; if (npairs 0) into if (n != -2147483648)
[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662 --- Comment #7 from janus at gcc dot gnu.org 2010-11-28 18:37:58 UTC --- I will commit the following patch as obvious: Index: gcc/fortran/resolve.c === --- gcc/fortran/resolve.c(revision 167218) +++ gcc/fortran/resolve.c(working copy) @@ -5389,6 +5389,14 @@ update_ppc_arglist (gfc_expr* e) return FAILURE; } + /* F08:C611. */ + if (po-ts.type == BT_DERIVED po-ts.u.derived-attr.abstract) +{ + gfc_error (Base object for procedure-pointer component call at %L is of + ABSTRACT type '%s', e-where, po-ts.u.derived-name); + return FAILURE; +} + gcc_assert (tb-pass_arg_num 0); e-value.compcall.actual = update_arglist_pass (e-value.compcall.actual, po, tb-pass_arg_num,
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #23 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 18:56:51 UTC --- We check op + 2147483648 for overflow. I don't think we properly check op - -2147483648 for overflow.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #11 from marcus at jet dot franken.de 2010-11-28 19:31:27 UTC --- it is unclear. ... it seems to crash in libgcc_s.so.1 (both the installed 4.5 and the built 4.6 trunk versuon) during this pthread_exit unwinding. behaviour changes if thread.o is built with -fasynchronous-unwind-tables . then it will not crash (i guess it seems to unwind over the thread.o functions and fails if the info is not there)
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #12 from marcus at jet dot franken.de 2010-11-28 19:31:58 UTC --- the gcc or glibc unwinding is in use, not wine's if I take it correctly from the bakctrace.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #13 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 19:47:02 UTC --- (In reply to comment #11) it is unclear. ... it seems to crash in libgcc_s.so.1 (both the installed 4.5 and the built 4.6 trunk versuon) during this pthread_exit unwinding. behaviour changes if thread.o is built with -fasynchronous-unwind-tables . then it will not crash Why isn't thread.o built with -fasynchronous-unwind-tables? -fasynchronous-unwind-tables should be on by default with gcc 4.6.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #14 from marcus at jet dot franken.de 2010-11-28 19:53:45 UTC --- actually it is built with it and crashes. Atfer i change thread.o with -fno-asynchronous-unwind-tables it starts to work again. so somehting in there confuses the glibc/libgcc unwinder. any clue on how to debug this?
[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662 --- Comment #8 from janus at gcc dot gnu.org 2010-11-28 20:22:32 UTC --- Author: janus Date: Sun Nov 28 20:22:29 2010 New Revision: 167225 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167225 Log: 2010-11-28 Janus Weil ja...@gcc.gnu.org PR fortran/46662 * resolve.c (update_ppc_arglist): Add check for abstract passed object. 2010-11-28 Janus Weil ja...@gcc.gnu.org PR fortran/46662 * gfortran.dg/proc_ptr_comp_pass_7.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_7.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/46662] [OOP] gfortran accepts CALL polymorphic%abstract_type%ppc()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46662 janus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #9 from janus at gcc dot gnu.org 2010-11-28 20:33:53 UTC --- Fixed with r167225. Closing.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #15 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 20:38:46 UTC --- Which glibc are you using?
[Bug other/46695] New: [4.6 regression] failure to build X from darwin to cris-elf with lto enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46695 Summary: [4.6 regression] failure to build X from darwin to cris-elf with lto enabled Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: ia...@gcc.gnu.org with host = i686-darwin9 target = cris-elf [current trunk = 167198] configure: Configured with: ../combined-trunk/configure --prefix=/GCC/cross --with-libelf=/GCC/libelf/ --target=cris-elf --disable-nls --enable-version-specific-runtime-libs --build=i686-apple-darwin9 --host=i686-apple-darwin9 --enable-sim --enable-languages=c,c++,fortran,lto,objc,obj-c++ --with-gmp=/GCC/multiprec-math/x86 --with-mpfr=/GCC/multiprec-math/x86 --with-mpc=/GCC/multiprec-math/x86 CC=/GCC/current/bin/gcc-4.6trunk CXX=/GCC/current/bin/g++-4.6trunk fails: /bin/sh ./libtool --tag=CC --mode=compile /GCC/current/bin/gcc-4.6trunk -DHAVE_CONFIG_H -I. -I../../combined-trunk/lto-plugin -I../../combined-trunk/lto-plugin/../include -DHAVE_CONFIG_H -Wall -Werror -g -O2 -c -o lto-plugin.lo ../../combined-trunk/lto-plugin/lto-plugin.c libtool: compile: /GCC/current/bin/gcc-4.6trunk -DHAVE_CONFIG_H -I. -I../../combined-trunk/lto-plugin -I../../combined-trunk/lto-plugin/../include -DHAVE_CONFIG_H -Wall -Werror -g -O2 -c ../../combined-trunk/lto-plugin/lto-plugin.c -fno-common -DPIC -o .libs/lto-plugin.o libtool: compile: /GCC/current/bin/gcc-4.6trunk -DHAVE_CONFIG_H -I. -I../../combined-trunk/lto-plugin -I../../combined-trunk/lto-plugin/../include -DHAVE_CONFIG_H -Wall -Werror -g -O2 -c ../../combined-trunk/lto-plugin/lto-plugin.c -o lto-plugin.o /dev/null 21 /bin/sh ./libtool --tag=CC --mode=link /GCC/current/bin/gcc-4.6trunk -Wall -Werror -g -O2 -no-undefined -bindir /GCC/cross/libexec/gcc/cris-elf/4.6.0 -o liblto_plugin.la -rpath /GCC/cross/libexec/gcc/cris-elf/4.6.0 lto-plugin.lo ../libiberty/pic/libiberty.a *** Warning: Linking the shared library liblto_plugin.la against the *** static library ../libiberty/pic/libiberty.a is not portable! libtool: link: /GCC/current/bin/gcc-4.6trunk -dynamiclib -o .libs/liblto_plugin.0.dylib .libs/lto-plugin.o ../libiberty/pic/libiberty.a -install_name /GCC/cross/libexec/gcc/cris-elf/4.6.0/liblto_plugin.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module Undefined symbols: _environ, referenced from: _environ$non_lazy_ptr in libiberty.a(pex-unix.o) _environ$non_lazy_ptr in libiberty.a(xmalloc.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [liblto_plugin.la] Error 1 make[1]: *** [all-lto-plugin] Error 2 make: *** [all] Error 2 === This is attributed to the inclusion of liblto_plugin_la_LDFLAGS = -no-undefined -bindir $(libexecsubdir) \ $(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a) in lto-plugin/Makefile.am works OK when the link is passed -undefined dynamic_lookup so that _environ can be resolved from crt at load time.
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #16 from marcus at jet dot franken.de 2010-11-28 20:44:38 UTC --- glibc-32bit-2.11.2-3.3.1.x86_64 /lib/libc.so.6 GNU C Library stable release version 2.11.2 (20100531), by Roland McGrath et al. [...] Configured for i686-suse-linux. Compiled by GNU CC version 4.5.0 20100604 [gcc-4_5-branch revision 160292]. Compiled on a Linux 2.6.32 system on 2010-10-27. Available extensions: crypt add-on version 2.1 by Michael Glad and others GNU Libidn by Simon Josefsson NoVersion patch for broken glibc 2.0 binaries Native POSIX Threads Library by Ulrich Drepper et al BIND-8.2.3-T5B For bug reporting instructions, please see: http://www.gnu.org/software/libc/bugs.html.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #24 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:04:10 UTC --- Does this patch make any senses? --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index c195073..4bcdd07 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -10225,6 +10225,22 @@ fold_binary_loc (location_t loc, fold_convert_loc (loc, type, negate_expr (arg1))); + /* A - B - A + (-B) if B is negative integer constant. */ + if (TREE_CODE (arg1) == INTEGER_CST !TYPE_UNSIGNED (type)) +{ + double_int di = tree_to_double_int (arg1); + if (double_int_negative_p (di)) +{ + tree unsigned_type = unsigned_type_for (type); + di = double_int_neg (di); + return fold_build2_loc (loc, PLUS_EXPR, unsigned_type, + fold_convert_loc (loc, unsigned_type, arg0 ), + fold_convert_loc (loc, +unsigned_type, +double_int_to_tree (type , di))); +} +} + /* Try folding difference of addresses. */ { HOST_WIDE_INT diff; ---
[Bug target/46468] enabling -fomit-frame-pointer by default breaks Wine
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468 --- Comment #17 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:05:41 UTC --- It sounds like this bug http://sourceware.org/bugzilla/show_bug.cgi?id=3597 But your glibc should be OK.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #25 from H.J. Lu hjl.tools at gmail dot com 2010-11-28 21:18:39 UTC --- Created attachment 22557 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22557 A patch Does it look OK?
[Bug target/46693] incorrect code generation with -O2 optimization enabled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46693 Mikael Pettersson mikpe at it dot uu.se changed: What|Removed |Added CC||mikpe at it dot uu.se --- Comment #6 from Mikael Pettersson mikpe at it dot uu.se 2010-11-28 22:36:37 UTC --- This test case works for me on arm-linux-gnueabi with gcc-4.3.5 and gcc-4.4.6, but fails with current gcc-4.5.2 and gcc-4.6.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #26 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 23:14:27 UTC --- (In reply to comment #22) fold_binary_loc turns npairs = n - -2147483648; if (npairs 0) into if (n != -2147483648) That's ok.
[Bug tree-optimization/46675] [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46675 --- Comment #27 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-28 23:16:05 UTC --- (In reply to comment #25) Created attachment 22557 [details] A patch Does it look OK? It doesn't make any sense.
[Bug target/46655] invalid '.line 0' directive emitted with -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46655 --- Comment #5 from David Edelsohn dje at gcc dot gnu.org 2010-11-29 00:17:54 UTC --- Has anyone reported this AIX assembler behavior to IBM? It would be much more effective coming from an external customer than from me.
[Bug tree-optimization/46621] gimple.h includes tm.h
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46621 --- Comment #2 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 2010-11-29 00:50:09 UTC --- Author: amylaar Date: Mon Nov 29 00:50:04 2010 New Revision: 167230 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167230 Log: PR tree-optimization/46621 * gimple.h: Don't include tm.h or hard-reg-set.h . * Makefile.in (GIMPLE_H): Remove $(TM_H). Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/gimple.h
[Bug middle-end/46685] [4.6 Regression] New stack alignment failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685 John David Anglin danglin at gcc dot gnu.org changed: What|Removed |Added Target Milestone|4.6.0 |--- --- Comment #3 from John David Anglin danglin at gcc dot gnu.org 2010-11-29 00:52:05 UTC --- The regression was introduced in r167085.
[Bug middle-end/46685] [4.6 Regression] New stack alignment failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685 John David Anglin danglin at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug other/46677] frontends and tree optimizers use *_TYPE_SIZE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46677 --- Comment #10 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 2010-11-29 02:53:27 UTC --- (In reply to comment #3) * POINTER_SIZE and ADA_LONG_TYPE_SIZE I haven't looked at in detail - We have several possible substitutes for POINTER_SIZE: GET_MODE_BITSIZE (ptr_mode) TYPE_PRECISION (ptr_type_mode) GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC)) Using machine modes is undesirable in files that don't already need to know about modes. TYPE_PRECISION (ptr_type_mode) seems reasonable for frontends after this node has been initialized; however, AFAICT, this node is not set for java. All the substitutes suffer from initialization problems when used before backend initialization. With targetm.addr_space.pointer_mode this might eventually be fixed by changing the hook definitions. Therefore, I propose that targhooks.c provides a wrapper function for GET_MODE_BITSIZE (targetm.addr_space.pointer_mode (ADDR_SPACE_GENERIC)) . In can work around the intialization problems for now by checking for VOIDmode, and using POINTER_SIZE when that happens.
[Bug c++/46696] New: Implicit copy constructor can't construct array of subtype with user-defined copy constructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46696 Summary: Implicit copy constructor can't construct array of subtype with user-defined copy constructor. Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: yacw...@gmail.com Created attachment 22558 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22558 Test source - erroneously fails to compile. I think I may have hit a bug where an implicit copy constructor can't construct an array of a subtype with a user-defined copy constructor. I can't see any hits searching for invalid array assignment on the bug repository. §12.8.28 states: A copy/move assignment operator that is defaulted and not defined as deleted is implicitly defined when [...] or when it is explicitly defaulted after its first declaration. §12.8.30 (implicitly-defined copy assignment) states: The implicitly-defined copy assignment operator for a non-union class X performs memberwise copy assignment of its subobjects [...] Each subobject is assigned in the manner appropriate to its type: [...] -- if the subobject is an array, each element is assigned, in the manner appropriate to the element type; I'm assuming that the manner appropriate to the element type means use copy-assignment. At least, that's what seems to happens if the main object's copy-assignment operator is implicitly defined. Yet the above doesn't seem able to compile if: - The main object contains an array of the subobject. - The main object's copy-assignment operator IS explicitly defaulted (§12.8.28). - The subobject's copy-assignment operator isn't implicitly or default defined. TEST SOURCE (Attached): 1) I created the most trivial type (named SFoo) that contains a non-default copy-assignment operator. 2) I created the most trivial type (named SBar) that contains: - an array of SFoo. - an explicitly defaulted copy-assignment operator. 3) I created a function that: - creates two copies of SBar. - assigns one copy to the other. TEST: I compiled using the -std=c++0x option. GCC refuses to compile (11:8: error: invalid array assignment). - If I remove the explicit defaulting of SBar's copy-assignment, it works. - If I default SFoo's copy-assignment, it works. SPECS: GCC: 4.6.0 20101106 (experimental) (GCC) - Using Pedro Lamarão's delegating constructors patch: - http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00620.html - (I can't see this having any effect here). TARGET: x86_64-unknown-linux-gnu SYSTEM: Ubuntu(64) 10.4. Core2Duo(64).
[Bug c++/46701] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 Summary: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org I don't know if this is the same as the other ICEs in build_data_member_initialization, but it's at a different line number anyway... Compiler version is: g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220] Here's the un-preprocessed source (preprocessed source attached): #include string #include map void f (const std::string name, const std::string val) { std::mapconst std::string, std::string::value_type (name, val); } Compiled with: g++-snapshot -c -std=c++0x ,oink.cc yields: In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42, from ,oink.cc:1: /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h: In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2) [with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]': ,oink.cc:6:66: instantiated from here /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Thanks, -miles
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #1 from miles at gnu dot org 2010-11-29 04:25:03 UTC --- Created attachment 22559 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22559 preprocessed source showing crash Generated with: g++-snapshot -E -std=c++0x
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #2 from miles at gnu dot org 2010-11-29 04:30:16 UTC --- BTW, sorry about the duplicate bugs. Bugzilla complains about not being able to autodetect the attachment content-type, and says hit BACK and try again -- but doesn't mention that the bug was submitted anyway! [and of course there doesn't actually seem to be anyway to specify the content-type of an attachment on the new-bug page...]
[Bug bootstrap/44756] [meta-bug] --enable-werror-always issues
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44756 --- Comment #9 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 2010-11-29 04:38:27 UTC --- Author: amylaar Date: Mon Nov 29 04:38:21 2010 New Revision: 167234 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167234 Log: PR bootstrap/44756 * cppbuiltin.c: Include target.h . (define_builtin_macros_for_type_sizes): Use targetm.float_words_big_endian. Modified: trunk/gcc/ChangeLog trunk/gcc/cppbuiltin.c
[Bug middle-end/46674] [4.6 Regression] Weak alias is mistakenly optimized away
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46674 Jie Zhang jiez at gcc dot gnu.org changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|DUPLICATE | --- Comment #2 from Jie Zhang jiez at gcc dot gnu.org 2010-11-29 04:57:56 UTC --- I still see the issue with the test case on latest GCC trunk on arm-none-linux-gnueabi target and native x86_64-linux-gnu. So I reopen it.
[Bug c++/46697] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46697 Summary: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Product: gcc Version: 4.6.0 Status: RESOLVED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org miles at gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE I don't know if this is the same as the other ICEs in build_data_member_initialization, but it's at a different line number anyway... Compiler version is: g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220] Here's the un-preprocessed source (preprocessed source attached): #include string #include map void f (const std::string name, const std::string val) { std::mapconst std::string, std::string::value_type (name, val); } Compiled with: g++-snapshot -c -std=c++0x ,oink.cc yields: In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42, from ,oink.cc:1: /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h: In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2) [with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]': ,oink.cc:6:66: instantiated from here /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Thanks, -miles --- Comment #1 from miles at gnu dot org 2010-11-29 05:14:29 UTC --- (I accidentally filed the same bug multiple times, so I'm marking all but one as duplicates) *** This bug has been marked as a duplicate of bug 46701 ***
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #3 from miles at gnu dot org 2010-11-29 05:14:29 UTC --- *** Bug 46697 has been marked as a duplicate of this bug. ***
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #4 from miles at gnu dot org 2010-11-29 05:14:53 UTC --- *** Bug 46698 has been marked as a duplicate of this bug. ***
[Bug c++/46698] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46698 Summary: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Product: gcc Version: 4.6.0 Status: RESOLVED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org miles at gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE I don't know if this is the same as the other ICEs in build_data_member_initialization, but it's at a different line number anyway... Compiler version is: g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220] Here's the un-preprocessed source (preprocessed source attached): #include string #include map void f (const std::string name, const std::string val) { std::mapconst std::string, std::string::value_type (name, val); } Compiled with: g++-snapshot -c -std=c++0x ,oink.cc yields: In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42, from ,oink.cc:1: /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h: In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2) [with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]': ,oink.cc:6:66: instantiated from here /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Thanks, -miles --- Comment #1 from miles at gnu dot org 2010-11-29 05:14:53 UTC --- (I accidentally filed the same bug multiple times, so I'm marking all but one as duplicates) *** This bug has been marked as a duplicate of bug 46701 ***
[Bug c++/46699] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46699 Summary: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Product: gcc Version: 4.6.0 Status: RESOLVED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org miles at gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE I don't know if this is the same as the other ICEs in build_data_member_initialization, but it's at a different line number anyway... Compiler version is: g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220] Here's the un-preprocessed source (preprocessed source attached): #include string #include map void f (const std::string name, const std::string val) { std::mapconst std::string, std::string::value_type (name, val); } Compiled with: g++-snapshot -c -std=c++0x ,oink.cc yields: In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42, from ,oink.cc:1: /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h: In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2) [with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]': ,oink.cc:6:66: instantiated from here /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Thanks, -miles --- Comment #1 from miles at gnu dot org 2010-11-29 05:15:18 UTC --- (I accidentally filed the same bug multiple times, so I'm marking all but one as duplicates) *** This bug has been marked as a duplicate of bug 46701 ***
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #5 from miles at gnu dot org 2010-11-29 05:15:18 UTC --- *** Bug 46699 has been marked as a duplicate of this bug. ***
[Bug c++/46701] internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #6 from miles at gnu dot org 2010-11-29 05:15:43 UTC --- *** Bug 46700 has been marked as a duplicate of this bug. ***
[Bug c++/46700] New: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46700 Summary: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Product: gcc Version: 4.6.0 Status: RESOLVED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org miles at gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE I don't know if this is the same as the other ICEs in build_data_member_initialization, but it's at a different line number anyway... Compiler version is: g++ (Debian 20101128-1) 4.6.0 20101128 (experimental) [trunk revision 167220] Here's the un-preprocessed source (preprocessed source attached): #include string #include map void f (const std::string name, const std::string val) { std::mapconst std::string, std::string::value_type (name, val); } Compiled with: g++-snapshot -c -std=c++0x ,oink.cc yields: In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_algobase.h:65:0, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/char_traits.h:41, from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/string:42, from ,oink.cc:1: /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h: In constructor 'constexpr std::pair_T1, _T2::pair(const _T1, const _T2) [with _T1 = const std::basic_stringchar, _T2 = std::basic_stringchar]': ,oink.cc:6:66: instantiated from here /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.6.0/../../../../include/c++/4.6.0/bits/stl_pair.h:102:35: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5503 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. Thanks, -miles --- Comment #1 from miles at gnu dot org 2010-11-29 05:15:43 UTC --- (I accidentally filed the same bug multiple times, so I'm marking all but one as duplicates) *** This bug has been marked as a duplicate of bug 46701 ***
[Bug c/46702] New: inlining generates strict-aliasing warnings
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46702 Summary: inlining generates strict-aliasing warnings Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@fastmail.fm Inlining a function which does dereferences cast pointers can cause strict-aliasing warnings, where the same function not inlined causes no warnings. This is surprising and counterintuitive; one would expect the function would be correct or not regardless of the inlining context. Test case: #include stdint.h extern int baz(const char *); #ifdef NOWARNINGS void foo(char *p) __attribute__((noinline)); #endif void foo(char *p) { *(uint32_t *)p = 0x42; } void bar(void) { union { char c[4]; uint64_t alignment; } buf; char *x = (char *)buf; foo(x); baz(x); } m...@mybox gcc -c -o foo.o -O2 -Wall -Wextra foo.c foo.c: In function ‘bar’: foo.c:11: warning: dereferencing pointer ‘p.0’ does break strict-aliasing rules foo.c:11: note: initialized from here m...@mybox gcc -c -o foo.o -O2 -Wall -Wextra -DNOWARNINGS foo.c m...@mybox gcc --version gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Seen in the wild in this code: http://git.cyrusimap.org/cyrus-imapd/tree/imap/mbdump.c#n109
[Bug middle-end/46685] [4.6 Regression] New stack alignment failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46685 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Target|hppa-unknown-linux-gnu |hppa,sparc-unknown-linux-gn ||u Status|UNCONFIRMED |NEW Last reconfirmed||2010.11.29 06:35:10 CC||ebotcazou at gcc dot ||gnu.org, hubicka at gcc dot ||gnu.org Host|hppa-unknown-linux-gnu |hppa,sparc-unknown-linux-gn ||u Ever Confirmed|0 |1 Build|hppa-unknown-linux-gnu |hppa,sparc-unknown-linux-gn ||u --- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-29 06:35:10 UTC --- Same failures on SPARC/Linux.
[Bug rtl-optimization/45354] [4.6 regression] ICE: fallthru edge crosses section boundary (bb 6) with g++.dg/bprob/g++-bprob-1.C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45354 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added CC|ebotcazou at gcc dot| |gnu.org | Known to work||4.5.2 Host|x86_64-pc-linux-gnu | Target Milestone|4.5.2 |4.6.0 Summary|[4.5/4.6 Regression] ICE: |[4.6 regression] ICE: |verify_flow_info failed:|fallthru edge crosses |fallthru edge crosses |section boundary (bb 6) |section boundary (bb 6) |with |with|g++.dg/bprob/g++-bprob-1.C |gcc.dg/tree-prof/update-cun | |roll-2.c| Known to fail|4.5.2 | --- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2010-11-29 07:57:40 UTC --- update-cunroll-2.c passes on mainline and 4.5 branch. g++-bprob-1.C fails only on the mainline.