[Bug c++/54506] Defaulted move constructors and move assignment operators are erroneously defined as deleted
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54506 --- Comment #8 from Nikolka tsoae at mail dot ru 2012-09-10 06:26:02 UTC --- (In reply to comment #7) (In reply to comment #3) g++ v4.7.2 20120908 (prerelease) compiles the original example successfully, but it fails to compile the following code: G++ is following the proposed resolution of DR 1402 here; Aint does not have a move constructor Aint does have a move constructor, which is instantiated from A(A const volatile ) = delete; See 12.8/3: A non-template constructor for class X is a move constructor if its first parameter is of type X, const X, volatile X, or const volatile X, and either there are no other parameters or else all other parameters have default arguments
[Bug bootstrap/54329] gcc/reginfo.o differs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54329 wbrana wbrana at gmail dot com changed: What|Removed |Added Attachment #28055|0 |1 is obsolete|| --- Comment #5 from wbrana wbrana at gmail dot com 2012-09-10 07:45:10 UTC --- Created attachment 28158 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28158 build log new failure gcc/cfgcleanup.o differs
[Bug bootstrap/54329] gcc/cfgcleanup.o differs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54329 wbrana wbrana at gmail dot com changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|FIXED | Summary|gcc/reginfo.o differs |gcc/cfgcleanup.o differs --- Comment #6 from wbrana wbrana at gmail dot com 2012-09-10 07:47:09 UTC --- see comment 5
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-10 CC||jakub at gcc dot gnu.org, ||jason at gcc dot gnu.org Target Milestone|--- |4.8.0 Summary|Getting assembler messages |[4.8 Regression] Getting |when compiling |assembler messages when ||compiling Ever Confirmed|0 |1 --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 08:29:28 UTC --- Started in between r189000 and r189400 (r189[123]00 issued errors on it).
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 08:32:18 UTC --- Created attachment 28159 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28159 pr54538.ii Reduced testcase for -std=c++11 -O2. The mangled name doesn't demangle with c++filt btw.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 08:37:49 UTC --- In r189000 there were two different symbols: _ZNSt17_Function_handlerIFbRFiSt6vectorIiSaIiNSt11chain_rangeIRS2_E12default_predMUlPS3_E_EE9_M_invokeERKSt9_Any_dataS4_ _ZNSt17_Function_handlerIFbRFiSt6vectorIiSaIiNSt11chain_rangeIOS2_E12default_predMUlPS3_E_EE9_M_invokeERKSt9_Any_dataS4_ one was , the other . Now they are both: _ZNSt17_Function_handlerIFbRFiSt6vectorIiSaIiNSt11chain_rangeIT_E12default_predMUlPS3_E_EE9_M_invokeERKSt9_Any_dataS4_ ...IRS2_E... vs. ... IOS2_E... vs. ...IT_E...
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #4 from Leonid Volnitsky leonid at volnitsky dot com 2012-09-10 09:07:23 UTC --- I can successfully compile if I will use gcc-3.7.1 Incorrect version. It should be 4.7.1
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 09:48:32 UTC --- Author: rguenth Date: Mon Sep 10 09:48:28 2012 New Revision: 191130 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191130 Log: 2012-09-07 Markus Trippelsdorf mar...@trippelsdorf.de PR middle-end/54515 * tree-sra.c (disqualify_base_of_expr): Check for possible NULL_TREE returned by get_base_address() * g++.dg/tree-ssa/pr54515.C: new testcase Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/tree-ssa/pr54515.C Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/tree-sra.c
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 --- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 09:50:07 UTC --- Author: rguenth Date: Mon Sep 10 09:50:02 2012 New Revision: 191131 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191131 Log: 2012-09-10 Markus Trippelsdorf mar...@trippelsdorf.de PR middle-end/54515 * tree-sra.c (disqualify_base_of_expr): Check for possible NULL_TREE returned by get_base_address() * g++.dg/tree-ssa/pr54515.C: new testcase Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/tree-ssa/pr54515.C Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/tree-sra.c
[Bug middle-end/53813] [4.7 Regression] ICE in fold_convert_loc, at fold-const.c:2016
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53813 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 09:52:18 UTC --- Dup of PR53826. *** This bug has been marked as a duplicate of bug 53826 ***
[Bug c++/53826] [4.8 Regression] [alpha]: ICE in fold_convert_loc, at fold-const.c:2008
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53826 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||danglin at gcc dot gnu.org --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 09:52:19 UTC --- *** Bug 53813 has been marked as a duplicate of this bug. ***
[Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419 --- Comment #64 from paul.richard.thomas at gmail dot com paul.richard.thomas at gmail dot com 2012-09-10 10:00:09 UTC --- Seconded! In return, I promise that, as soon as I have time, I'll update to 21st century tools :-) Thanks Paul On 9 September 2012 20:17, dominiq at lps dot ens.fr gcc-bugzi...@gcc.gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419 --- Comment #61 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-09-09 18:17:09 UTC --- patch committed Thanks. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug.
[Bug debug/54534] [4.7 Regression] Missing location for unused variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54534 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1 Status|UNCONFIRMED |WAITING Last reconfirmed||2012-09-10 CC||hubicka at gcc dot gnu.org, ||rguenth at gcc dot gnu.org Target Milestone|--- |4.7.2 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 10:25:57 UTC --- I think reverting r191073 fixes it. Btw, I don't see how we preserve i on trunk. Honza? When reverting r191073 -ftoplevel-reorder breaks it. So IMHO it worked by accident. How does it continue to work by accident on trunk?
[Bug preprocessor/54528] [4.8 Regression] system.h:288:78: error: integer overflow in expression
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54528 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.8.0
[Bug fortran/54522] Using g77 -O -fno-automatic, reassignment of a variable in an if statement in a function triggers a compiler bug.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54522 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 10:30:36 UTC --- Fixed by gfortran.
[Bug target/54536] [avr]: incorrect crt with -mmcu=at90usb1287
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54536 --- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-09-10 10:43:25 UTC --- Author: gjl Date: Mon Sep 10 10:43:20 2012 New Revision: 191132 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191132 Log: PR target/54536 * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to usb1287. Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr-mcus.def
[Bug target/54536] [avr]: incorrect crt with -mmcu=at90usb1287
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54536 --- Comment #2 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-09-10 10:46:31 UTC --- Author: gjl Date: Mon Sep 10 10:46:27 2012 New Revision: 191133 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191133 Log: Backport from 2012-09-10 mainline r191132. PR target/54536 * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to usb1287. Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/config/avr/avr-mcus.def
[Bug middle-end/54520] [4.8 Regression] ice in merge_latch_edges with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54520 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-09-10 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 10:51:23 UTC --- The (latent) bug is that when threading over a subloop /* Remove the new pre-header blocks from our loop. */ bblocks = XCNEWVEC (basic_block, loop-num_nodes); nblocks = dfs_enumerate_from (header, 0, def_split_header_continue_p, bblocks, loop-num_nodes, tgt_bb); for (i = 0; i nblocks; i++) { remove_bb_from_loops (bblocks[i]); add_bb_to_loop (bblocks[i], loop_outer (loop)); } free (bblocks); does not remove properly all blocks from the loop. oldheader | \ | subloop | | | exit block | / new header | ... because the DFS walk stops at 'subloop'...
[Bug target/54536] [avr]: incorrect crt with -mmcu=at90usb1287
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54536 --- Comment #3 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-09-10 10:51:21 UTC --- Author: gjl Date: Mon Sep 10 10:51:13 2012 New Revision: 191134 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191134 Log: Backport from 2012-09-10 mainline r191132. PR target/54536 * config/avr/avr-devices.c (avr_mcu_types[at90usb1287]): Set .library_name to usb1287. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/avr/avr-devices.c
[Bug target/54536] [avr]: incorrect crt with -mmcu=at90usb1287
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54536 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P5 Status|UNCONFIRMED |RESOLVED CC||gjl at gcc dot gnu.org Known to work||4.6.4 Resolution||FIXED Target Milestone|--- |4.7.2 Known to fail||4.6.3, 4.7.1 --- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-09-10 10:54:41 UTC --- Fixed in 4.7.2, 4.6.4.
[Bug debug/54519] [4.6/4.7/4.8 Regression] Debug info quality regression due to (pointless) partial inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54519 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-10 CC||rguenth at gcc dot gnu.org Target Milestone|--- |4.6.4 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 11:02:10 UTC --- I wonder whether we can make the split function pieces virtual clones, thus drive all this from IPA inlining instead. So in case we do not inline the header keep the call to the unsplit function. That would have been a better overall design IMHO (not giving any early optimization benefits of course). But even with the current design we might be able to simply fold back to calling the original function at some point (we'd of course have to outline both the header and the tail in this case to keep the original body).
[Bug rtl-optimization/54540] New: [4.8 regression] postreload incorrectly simplifies stack adjustment into constant load into SP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54540 Bug #: 54540 Summary: [4.8 regression] postreload incorrectly simplifies stack adjustment into constant load into SP Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: rearn...@gcc.gnu.org Target: arm-linux-gnueabi This is probably a latent bug that has been exposed by a recent change to the ARM back-end. In the testcase, when compiled with: /work/rearnsha/scratch/gnu/gcc/trunk/gcc/cc1plus default.ii -O2 -mcpu=cortex-a9 -mthumb --std=c++11 For the function _Z8run_testIN9__gnu_cxx33simd_fast_mersenne_twister_engineIjLj132049ELj110ELj19E Lj1ELj21ELj1ELj4294949727ELj4218339221ELj4294901754ELj3489103871ELj1ELj0ELj34111 48800ELj3353943165vSt16initializer_listINT_11result_typeEE the stack pointer adjustment in the prologue ends up being optimized into ldr sp, [pc, #offs] which is a load from the constant pool. After register allocation we have: 2 r151:SI=sp:SI-0x4080 3 sp:SI=r151:SI-0x20 REG_DEAD: r151:SI REG_EQUAL: sp:SI-0x40a0 5 r152:SI=sp:SI+0xf However, a reload is needed and the reload pass generates 2 r3:SI=sp:SI-0x4080 205 sp:SI=0xffe0 3 sp:SI=sp:SI+r3:SI REG_EQUAL: sp:SI-0x40a0 5 r8:SI=sp:SI+0xf Note that insn 3 still has a note that describes the result as being an adjustment to SP. Postreload somehow then converts this into 2 r3:SI=sp:SI-0x4080 205 sp:SI=0xffef 5 r8:SI=sp:SI+r3:SI Which of course is not at all the same result. There are two issues going on here: One, reload is using SP as a scratch register. This violates stack integrity rules. If an interrupt or signal occurred while SP was invalid the program would probably crash. This is a reload bug. Two, SP is never correctly updated to the final value, which means that the code crashes at run time. This may also be a reload bug, but it might also be a post-reload one (or both).
[Bug middle-end/54515] cc1plus sigsegv -O2 anonymous namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54515 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #9 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 11:33:03 UTC --- Testing sth different for trunk.
[Bug libstdc++/54314] [4.8 Regression] undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstreamchar, std::char_traitschar, std::allocatorchar '
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-10 Ever Confirmed|0 |1 --- Comment #9 from Kai Tietz ktietz at gcc dot gnu.org 2012-09-10 11:45:36 UTC --- (In reply to comment #8) I think we should identify when this changed and why. Then, we can certainly add the export (please send a regular patch to the library mailing list) but at a new minor version, thus CXXABI_1.3.7. The issue was exposed by trunc's new feature for PECOFF to place readonly-data with relocation into the .rdata section. Interesting that this wasn't noticed before, but to add _[_]ZTC* to gnu.ver fixes the issue.
[Bug rtl-optimization/54540] [4.8 regression] postreload incorrectly simplifies stack adjustment into constant load into SP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54540 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.8.0
[Bug fortran/54443] [4.7 Regression] Segmentation Fault when Compiling for code using Fortran Polymorphic Entities
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54443 --- Comment #7 from janus at gcc dot gnu.org 2012-09-10 12:10:27 UTC --- Author: janus Date: Mon Sep 10 12:10:12 2012 New Revision: 191135 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191135 Log: 2012-09-10 Janus Weil ja...@gcc.gnu.org PR fortran/54435 PR fortran/54443 * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA for BT_CLASS. 2012-09-10 Janus Weil ja...@gcc.gnu.org PR fortran/54435 PR fortran/54443 * gfortran.dg/select_type_29.f03: New. Added: branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/select_type_29.f03 Modified: branches/gcc-4_7-branch/gcc/fortran/ChangeLog branches/gcc-4_7-branch/gcc/fortran/match.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug fortran/54435] [4.7/4.8 Regression] ICE with SELECT TYPE on a non-CLASS object
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54435 --- Comment #8 from janus at gcc dot gnu.org 2012-09-04 08:03:14 UTC --- Author: janus Date: Tue Sep 4 08:03:09 2012 New Revision: 190910 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190910 Log: 2012-09-04 Janus Weil ja...@gcc.gnu.org PR fortran/54435 PR fortran/54443 * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA for BT_CLASS. 2012-09-04 Janus Weil ja...@gcc.gnu.org PR fortran/54243 PR fortran/54244 * gfortran.dg/select_type_29.f03: New. Added: trunk/gcc/testsuite/gfortran.dg/select_type_29.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/match.c trunk/gcc/testsuite/ChangeLog --- Comment #9 from janus at gcc dot gnu.org 2012-09-10 12:10:27 UTC --- Author: janus Date: Mon Sep 10 12:10:12 2012 New Revision: 191135 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191135 Log: 2012-09-10 Janus Weil ja...@gcc.gnu.org PR fortran/54435 PR fortran/54443 * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA for BT_CLASS. 2012-09-10 Janus Weil ja...@gcc.gnu.org PR fortran/54435 PR fortran/54443 * gfortran.dg/select_type_29.f03: New. Added: branches/gcc-4_7-branch/gcc/testsuite/gfortran.dg/select_type_29.f03 Modified: branches/gcc-4_7-branch/gcc/fortran/ChangeLog branches/gcc-4_7-branch/gcc/fortran/match.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug fortran/54435] [4.7/4.8 Regression] ICE with SELECT TYPE on a non-CLASS object
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54435 janus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from janus at gcc dot gnu.org 2012-09-10 12:14:00 UTC --- Fixed on trunk and 4.7. Closing.
[Bug fortran/54443] [4.7 Regression] Segmentation Fault when Compiling for code using Fortran Polymorphic Entities
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54443 janus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #8 from janus at gcc dot gnu.org 2012-09-10 12:14:27 UTC --- Fixed on trunk and 4.7. Closing.
[Bug rtl-optimization/54540] [4.8 regression] postreload incorrectly simplifies stack adjustment into constant load into SP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54540 --- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-09-10 12:46:29 UTC --- Created attachment 28160 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28160 Testcase (not reduced)
[Bug fortran/54435] [4.7/4.8 Regression] ICE with SELECT TYPE on a non-CLASS object
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54435 --- Comment #11 from paul.richard.thomas at gmail dot com paul.richard.thomas at gmail dot com 2012-09-10 13:10:30 UTC --- Dear Janus, Thanks for dealing with that. Cheers Paul On 10 September 2012 14:14, janus at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54435 janus at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from janus at gcc dot gnu.org 2012-09-10 12:14:00 UTC --- Fixed on trunk and 4.7. Closing. -- Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug.
[Bug rtl-optimization/54540] [4.8 regression] postreload incorrectly simplifies stack adjustment into constant load into SP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54540 Segher Boessenkool segher at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-10 Ever Confirmed|0 |1 --- Comment #2 from Segher Boessenkool segher at gcc dot gnu.org 2012-09-10 13:52:40 UTC --- Confirmed.
[Bug c++/54506] Defaulted move constructors and move assignment operators are erroneously defined as deleted
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54506 --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:08:36 UTC --- Author: jason Date: Mon Sep 10 14:08:32 2012 New Revision: 191140 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191140 Log: PR c++/54506 * decl.c (move_signature_fn_p): Split out from move_fn_p. * method.c (process_subob_fn): Use it. * cp-tree.h: Declare it. Added: trunk/gcc/testsuite/g++.dg/cpp0x/implicit14.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/method.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/54520] [4.8 Regression] ice in merge_latch_edges with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54520 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:10:14 UTC --- Author: rguenth Date: Mon Sep 10 14:10:09 2012 New Revision: 191141 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191141 Log: 2012-09-10 Richard Guenther rguent...@suse.de PR tree-optimization/54520 * tree-ssa-threadupdate.c (def_split_header_continue_p): Properly consider sub-loops. * gcc.dg/torture/pr54520.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr54520.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-threadupdate.c
[Bug middle-end/54520] [4.8 Regression] ice in merge_latch_edges with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54520 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:10:14 UTC --- Author: rguenth Date: Mon Sep 10 14:10:09 2012 New Revision: 191141 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191141 Log: 2012-09-10 Richard Guenther rguent...@suse.de PR tree-optimization/54520 * tree-ssa-threadupdate.c (def_split_header_continue_p): Properly consider sub-loops. * gcc.dg/torture/pr54520.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr54520.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-threadupdate.c --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:10:30 UTC --- Fixed.
[Bug middle-end/54520] [4.8 Regression] ice in merge_latch_edges with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54520 --- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:10:30 UTC --- Fixed.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added CC||markus at trippelsdorf dot ||de --- Comment #5 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-09-10 14:13:29 UTC --- Both icpc and clang++ reject the testcase: clang: pr54538.ii:283:13: error: no matching function for call to 'range' auto r9 = range (v9); ^ pr54538.ii:277:66: note: candidate template ignored: substitution failure [with Rn = std::vectorint, std::allocatorint ]: non-type template argument is not a constant expression template class Rn eIF is_range Rn (), chain_range Rn range (Rn rn) ^ pr54538.ii:284:14: error: no matching function for call to 'range' auto rr9 = range (mk_v9 ()); ^ pr54538.ii:277:66: note: candidate template ignored: substitution failure [with Rn = std::vectorint, std::allocatorint ]: non-type template argument is not a constant expression template class Rn eIF is_range Rn (), chain_range Rn range (Rn rn) icpc: ... pr54538.ii(283): error: no instance of function template std::range matches the argument list argument types are: (std::vectorint, std::allocatorint) auto r9 = range (v9); ^ pr54538.ii(284): error: no instance of function template std::range matches the argument list argument types are: (std::vectorint, std::allocatorint) auto rr9 = range (mk_v9 ());
[Bug middle-end/54520] [4.8 Regression] ice in merge_latch_edges with -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54520 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:22:13 UTC --- .
[Bug c++/54086] GCC should allow constexpr and const together
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54086 --- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:04 UTC --- Author: jason Date: Mon Sep 10 14:23:54 2012 New Revision: 191144 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191144 Log: PR c++/54086 * decl.c (grokdeclarator): Allow const and constexpr together. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-const1.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/decl.c branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-object1.C
[Bug c++/54253] [C++11] constexpr constructor crashes with polymorphic base classes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54253 --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:15 UTC --- Author: jason Date: Mon Sep 10 14:24:07 2012 New Revision: 191145 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191145 Log: PR c++/54341 PR c++/54253 * semantics.c (sort_constexpr_mem_initializers): New. (build_constexpr_constructor_member_initializers): Use it. (cx_check_missing_mem_inits): Skip artificial fields. * init.c (expand_aggr_init_1): Don't zero out a class with no data. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual2.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/init.c branches/gcc-4_7-branch/gcc/cp/semantics.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/54506] Defaulted move constructors and move assignment operators are erroneously defined as deleted
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54506 --- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:27 UTC --- Author: jason Date: Mon Sep 10 14:24:19 2012 New Revision: 191146 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191146 Log: PR c++/54506 * decl.c (move_signature_fn_p): Split out from move_fn_p. * method.c (process_subob_fn): Use it. * cp-tree.h: Declare it. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/implicit14.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/cp-tree.h branches/gcc-4_7-branch/gcc/cp/decl.c branches/gcc-4_7-branch/gcc/cp/method.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c++/54506] Defaulted move constructors and move assignment operators are erroneously defined as deleted
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54506 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.7.2 --- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:27 UTC --- Author: jason Date: Mon Sep 10 14:24:19 2012 New Revision: 191146 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191146 Log: PR c++/54506 * decl.c (move_signature_fn_p): Split out from move_fn_p. * method.c (process_subob_fn): Use it. * cp-tree.h: Declare it. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/implicit14.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/cp-tree.h branches/gcc-4_7-branch/gcc/cp/decl.c branches/gcc-4_7-branch/gcc/cp/method.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog --- Comment #11 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:25:49 UTC --- Fixed for 4.7.2.
[Bug tree-optimization/54489] tree FRE uses an excessive amount of memory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54489 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-09-10 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-09-10 14:38:21 UTC --- I have a patch that I just need to polish somewhat.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #6 from Leonid Volnitsky leonid at volnitsky dot com 2012-09-10 14:39:26 UTC --- This code is very alpha and not supposed to be compiled with something not GCC. CLANG probably will be able to compile it when they will fix constexpr bug 11851 ( http://llvm.org/bugs/show_bug.cgi?id=11851). Don't know about ICC or how it supports C++11. Assembler messeges were not from unit test, but from this: scc 1
[Bug c++/54341] [4.7 Regression] ICE (segfault) in cx_check_missing_mem_inits, at cp/semantics.c:6093
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54341 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||jason at gcc dot gnu.org Resolution||FIXED --- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:13 UTC --- Author: jason Date: Mon Sep 10 14:24:07 2012 New Revision: 191145 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191145 Log: PR c++/54341 PR c++/54253 * semantics.c (sort_constexpr_mem_initializers): New. (build_constexpr_constructor_member_initializers): Use it. (cx_check_missing_mem_inits): Skip artificial fields. * init.c (expand_aggr_init_1): Don't zero out a class with no data. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual2.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/init.c branches/gcc-4_7-branch/gcc/cp/semantics.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog --- Comment #7 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:42:22 UTC --- Fixed for 4.7.2 as well.
[Bug c++/54253] [C++11] constexpr constructor crashes with polymorphic base classes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54253 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.8.0 |4.7.2 --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:15 UTC --- Author: jason Date: Mon Sep 10 14:24:07 2012 New Revision: 191145 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191145 Log: PR c++/54341 PR c++/54253 * semantics.c (sort_constexpr_mem_initializers): New. (build_constexpr_constructor_member_initializers): Use it. (cx_check_missing_mem_inits): Skip artificial fields. * init.c (expand_aggr_init_1): Don't zero out a class with no data. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual2.C branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-virtual3.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/init.c branches/gcc-4_7-branch/gcc/cp/semantics.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog --- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:43:06 UTC --- And for 4.7.2.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #7 from Leonid Volnitsky leonid at volnitsky dot com 2012-09-10 14:43:55 UTC --- It seams that gcc bugzilla substituted text bug some-number with erroneous link.
[Bug c++/54086] GCC should allow constexpr and const together
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54086 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Target Milestone|4.8.0 |4.7.2 --- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:24:04 UTC --- Author: jason Date: Mon Sep 10 14:23:54 2012 New Revision: 191144 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191144 Log: PR c++/54086 * decl.c (grokdeclarator): Allow const and constexpr together. Added: branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-const1.C Modified: branches/gcc-4_7-branch/gcc/cp/ChangeLog branches/gcc-4_7-branch/gcc/cp/decl.c branches/gcc-4_7-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-object1.C --- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 14:44:54 UTC --- Fixed for 4.7.2 as well.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #8 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-09-10 14:51:53 UTC --- (In reply to comment #7) It seams that gcc bugzilla substituted text bug some-number with erroneous link. Never mind, bugzilla just isn't psycic yet ;-)
[Bug middle-end/54146] Very slow compile with attribute((flatten))
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54146 --- Comment #61 from Jan Hubicka hubicka at ucw dot cz 2012-09-10 16:04:38 UTC --- I think it would be good to deprecate the flatten attribute... It still can be useful I think, if only for creating testcases with arbitrary large functions ;) I think it is generally useful and some of the HPC extensions do contain flatten equivalent. I do not see anything bad in compiler blowing up your machine when you explicitely ask him to do so via an attribute ;) Honza
[Bug bootstrap/40894] [4.4/4.5/4.6/4.7 Regression] bootstrap4-lean failed crtfastmath.o comparision
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40894 Hin-Tak Leung htl10 at users dot sourceforge.net changed: What|Removed |Added Known to work||4.7.1 Known to fail||4.4.7 --- Comment #13 from Hin-Tak Leung htl10 at users dot sourceforge.net 2012-09-10 16:07:49 UTC --- re-testing due to doubts about http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44959#c30 - caveat STAGE2_CFLAGS, bootstrap4-lean goes beyond crtfastmath.o comparision for 4.7.1 , fails for 4.4.7, okay for 4.3.3 (fails later for libjava bug 40947) and okay for 4.6.1.
[Bug bootstrap/40894] [4.4/4.5/4.6/4.7 Regression] bootstrap4-lean failed crtfastmath.o comparision
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40894 Hin-Tak Leung htl10 at users dot sourceforge.net changed: What|Removed |Added Known to work||4.3.6 --- Comment #14 from Hin-Tak Leung htl10 at users dot sourceforge.net 2012-09-10 16:16:21 UTC --- 4.3.6 also okay.
[Bug debug/54519] [4.6/4.7/4.8 Regression] Debug info quality regression due to (pointless) partial inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54519 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-09-10 16:21:54 UTC --- Created attachment 28161 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28161 gcc48-pr54519.patch Untested WIP patch which tries to handle at least the case where the fn.part.N isn't inlined back. Will need to do something at the inlining side too, to change the source binds back to normal binds of the corresponding vars. And of course, this doesn't handle non-gimple-reg arguments at all, so for the case where we inline back the fn.part.N (either into original function or into some function into which fn has been inlined already) it would still be nice to special case that inlining.
[Bug libgcj/40947] Invalid flag usage: Wl,-rpath, -Wx,-option must appear after -_SYSTYPE_SVR4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40947 Hin-Tak Leung htl10 at users dot sourceforge.net changed: What|Removed |Added Known to work|4.3.3 |4.6.0, 4.6.2, 4.6.3, 4.7.0, ||4.7.1 Known to fail||4.3.3, 4.3.6, 4.4.7, 4.5.1, ||4.5.2, 4.5.3, 4.5.4 --- Comment #20 from Hin-Tak Leung htl10 at users dot sourceforge.net 2012-09-10 16:27:57 UTC --- re-test everything, somehow 4.3.3 fails - it would appear that I upgraded libtool and thing got broken; in any case, 4.6.x and 4.7.x works, and 4.5.x fails; and 4.4.7 fails. Hmm, I should re-try 4.4.1 to be sure.
[Bug c++/54403] [C++11] operator! applied to a member of a templated class in a lambda expression that captures 'this' pointer crashes compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54403 --- Comment #2 from Pavel ripper-tm at yandex dot ru 2012-09-10 16:58:15 UTC --- Described bug seems to refer to a set of bugs related to this pointer in lambdas. They can show up as wrong compiler errors or compiler segfaults.
[Bug c++/51317] [C++0x] [DR 587] Wrong value category of conditional expression where lvalue operands differ only in cv-qualification
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51317 Nikolka tsoae at mail dot ru changed: What|Removed |Added Version|4.7.0 |4.8.0 --- Comment #1 from Nikolka tsoae at mail dot ru 2012-09-10 17:16:46 UTC --- The error still occurs on g++ v.4.7.2 20120908 (prerelease) and v.4.8.0 20120909 (experimental). -4.7.2- Target: i686-pc-linux-gnu Configured with: ../configure --prefix=../target --enable-languages=c,c++ Thread model: posix GNU C++ (GCC) version 4.7.2 20120908 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.7.2 20120908 (prerelease), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.8.2 COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro' test.cpp:3:27: error: lvalue required as unary ‘’ operand -4.8.0- Target: i686-pc-linux-gnu Configured with: ../configure --prefix=../target --enable-languages=c,c++ Thread model: posix GNU C++ (GCC) version 4.8.0 20120909 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.8.0 20120909 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.8.2 COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro' test.cpp:3:27: error: lvalue required as unary ‘’ operand int const *p = (1 ? x : y); ^
[Bug c++/54541] New: SFINAE bug: handling incomplete return types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54541 Bug #: 54541 Summary: SFINAE bug: handling incomplete return types Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ts...@mail.ru g++ 4.8.0 20120909 (experimental) fails to compile the following well-defined code: #include utility struct X; X f(int); template class T void g(decltype((void)f(std::declvalT())) *) {} template class T void g(...) {} int main() { gint(0); } COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro' test.cpp: In substitution of ‘templateclass T void g(decltype ((void)(f(declvalT(*) [with T = missing]’: test.cpp:16:17: required from here test.cpp:8:50: error: invalid use of incomplete type ‘struct X’ void g(decltype((void)f(std::declvalT())) *) ^ test.cpp:3:12: error: forward declaration of ‘struct X’ struct X; ^ Compiler version info: Target: i686-pc-linux-gnu Configured with: ../configure --prefix=../target --enable-languages=c,c++ Thread model: posix GNU C++ (GCC) version 4.8.0 20120909 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.8.0 20120909 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.8.2 Explanation: When considering gint(0), for the former g the error [the expression (void)f(std::declvalT()) uses incomplete type X in a context where complete type is required] occurs in immediate context (and there are no any errors in non-immediate context), so the former g should be just excluded from the set of candidate functions due to substitution failure. The latter g is the only viable candidate, so it should be called.
[Bug c++/54542] New: SFINAE bug: handling new expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54542 Bug #: 54542 Summary: SFINAE bug: handling new expressions Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ts...@mail.ru g++ 4.8.0 20120909 (experimental) fails to compile the following well-defined code: template class T void f(decltype(new T(1, 2)) *) { T(1, 2); } template class T void f(...) {} int main() { fint(0); } COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro' test.cpp: In substitution of ‘templateclass T void f(decltype (new T)*) [with T = missing]’: test.cpp:12:17: required from here test.cpp:2:14: error: new initializer expression list treated as compound expression [-fpermissive] void f(decltype(new T(1, 2)) *) ^ test.cpp: In substitution of ‘templateclass T void f(decltype (new T)*) [with T = int]’: test.cpp:12:17: required from here test.cpp:2:14: error: new initializer expression list treated as compound expression [-fpermissive] test.cpp:2:38: error: new initializer expression list treated as compound expression [-fpermissive] void f(decltype(new T(1, 2)) *) ^ ‘ Internal compiler error: Error reporting routines re-entered. Compiler version info: Target: i686-pc-linux-gnu Configured with: ../configure --prefix=../target --enable-languages=c,c++ Thread model: posix GNU C++ (GCC) version 4.8.0 20120909 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.8.0 20120909 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.8.2 Explanation: When T is int, the new-expression is ill-formed and the error occurs in immediate context, so the former f should be excluded from the set of candidate functions due to substitution failure.
[Bug c++/54543] New: Expression (condition ? array : throw expr)[index] fails to compile
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54543 Bug #: 54543 Summary: Expression (condition ? array : throw expr)[index] fails to compile Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ts...@mail.ru g++ 4.8.0 20120909 (experimental) fails to compile the following well-defined code: int f(int (arr)[10], int n) { return ((0 = n n 10) ? arr : throw error)[n]; } int main() {} COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro' test.cpp: In function ‘int f(int ()[10], int)’: test.cpp:3:46: error: void value not ignored as it ought to be return ((0 = n n 10) ? arr : throw error)[n]; ^ Compiler version info: Target: i686-pc-linux-gnu Configured with: ../configure --prefix=../target --enable-languages=c,c++ Thread model: posix GNU C++ (GCC) version 4.8.0 20120909 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.8.0 20120909 (experimental), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.8.2
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 17:47:12 UTC --- Looks like it was 189190. http://gcc.gnu.org/viewcvs?view=revisionrevision=189190
[Bug bootstrap/53912] [4.7/4.8 Regression] bootstrap fails using default c++ mode in stage 2 and 3 for native x86_64-w64-mingw32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53912 --- Comment #19 from niXman i.nixman at gmail dot com 2012-09-10 20:04:16 UTC --- (In reply to comment #12) Created attachment 27846 [details] proposed patch This fixes the C and C++ part. This patch is correct. Why not apply?
[Bug target/46191] [4.6/4.7/4.8 regression] Non-absolute names in libgcc_s.so
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46191 --- Comment #10 from Andreas Schwab schwab at gcc dot gnu.org 2012-09-10 20:14:55 UTC --- Author: schwab Date: Mon Sep 10 20:14:47 2012 New Revision: 191160 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191160 Log: PR target/46191 * config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead of libgcc.a. Modified: trunk/libgcc/ChangeLog trunk/libgcc/config/t-slibgcc-libgcc
[Bug target/54089] [SH] Refactor shift patterns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #16 from Oleg Endo olegendo at gcc dot gnu.org 2012-09-10 20:35:30 UTC --- Author: olegendo Date: Mon Sep 10 20:35:25 2012 New Revision: 191161 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191161 Log: PR target/54089 * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if dynamic shifts are available. (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment. * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments. * config/sh/predicates.md (shift_count_operand): Allow arith_reg_operand even if TARGET_DYNSHIFT is false. * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns if needed. (ashlsi3_d_call, lshrsi3_d_call): New insns. PR target/54089 * config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0. (lshrsi3): Reimplement as lshrsi3_r0. PR target/54089 * gcc.target/sh/pr54089-3.c: New. Added: trunk/gcc/testsuite/gcc.target/sh/pr54089-3.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/sh/predicates.md trunk/gcc/config/sh/sh.c trunk/gcc/config/sh/sh.h trunk/gcc/config/sh/sh.md trunk/gcc/testsuite/ChangeLog trunk/libgcc/ChangeLog trunk/libgcc/config/sh/lib1funcs.S
[Bug c/54544] New: Option -Wuninitialized does not work as documented with volatile
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54544 Bug #: 54544 Summary: Option -Wuninitialized does not work as documented with volatile Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: jimf...@gmail.com I first filed this bug to Ubuntu Launchpad under the reference 1008090: https://bugs.launchpad.net/ubuntu/+source/gcc-4.6/+bug/1008090 A the finding of the Ubuntu guys is that it is an upstream bug, I'll just copy/paste it here (with additional findings). I classified is as minor as we are talking only of warnings (but still it is an annoyance) and/or a documentation bug. == Versions of Ubuntu and gcc: - (Precise amd64, out-of-the-box gcc) $ LANG=ENG uname -a echo gcc -v Linux zakhar-desktop 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --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.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) WHAT HAPPENS: Consider the source code below: /*01*/ int fct(volatile int *p); /*02*/ /*03*/ int /*04*/ foo( p ) /*05*/ volatile int *p; /*06*/ { /*07*/ volatile int foobar,barfoo; /*08*/ volatile int flag=0; /*09*/ volatile int *bar; /*10*/ /*11*/ do /*12*/ { /*13*/ if ( *p ) /*14*/ { /*15*/ flag= fct( p ); /*16*/ bar = p; /*17*/ } /*18*/ if ( fct( p ) ) break; /*19*/ if ( flag ) /*20*/ { /*21*/ barfoo = *bar; /*22*/ if ( bar == (int *)0 ) break; /*23*/ foobar = *bar; /*24*/ return foobar + barfoo; /*25*/ } /*26*/ } /*27*/ while ( fct( p ) ); /*28*/ /*29*/ return 0; /*30*/ } Compile it and you get: $ gcc -O3 -c uninit.c -o /dev/null -Wall uninit.c: In function 'foo': uninit.c:23:27: warning: 'bar' may be used uninitialized in this function [-Wuninitialized] WHAT SHOULD HAPPEN: -- 1) gcc makes a *VERY BAD* job at detecting uninitialized! Per se, this is not a bug, because it is duly documented that in some situations, gcc cannot guess. Here, simple logic proves that the detection is bad: - you cannot reach lines 21-24 unless flag is not zero. - flag is initialized to zero, and the only place it can take another value is line 15, where it gets the result of our external function. - if we go to line 15, the next line in sequence would initialize 'bar'. - thus when we go to lines 21-24 'bar' is definitely initialized. Other strange things about this false detection: - it warns on line 23, and not on lines 21 or 22 that already use the same variable BEFORE line 23! - it stops warning if you remove line 18! This is odd, because line 18 only breaks out of the flow on certain condition, and as this is before we use the allegedly uninitialized variable, it can do no harm. One could argue that gcc can move line 18 up, but I hope it does not... as we don't know whether our external function has side effect (and no way I know in C to instruct the compiler it does not!), if it has side effects this would break the behaviour of the code as fct is already called on line 15, prior to line 18. 2) Apart from that bad detection of uninitialized, the behaviour is *NOT COMPLIANT with the documentation*. If you look at the documentation page here: http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html It says: -Wuninitialized Warn if an automatic variable is used without first being initialized (...) (...) (...) They do not occur for *variables or elements declared volatile*. As you see, in the code: 'bar' is an automatic variable, 'bar' has been declared volatile (and as demonstrated in 1: it *IS* initialized!), and gcc continues to spit out the warning. CONCLUSION: --- We do certainly have a bad detection of 'uninitialized' Plus, - either we have a
[Bug libgcj/40947] Invalid flag usage: Wl,-rpath, -Wx,-option must appear after -_SYSTYPE_SVR4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40947 Hin-Tak Leung htl10 at users dot sourceforge.net changed: What|Removed |Added Known to work|4.4.1 | Known to fail||4.4.1 --- Comment #21 from Hin-Tak Leung htl10 at users dot sourceforge.net 2012-09-10 21:20:17 UTC --- re-test and 4.4.1 fails.
[Bug middle-end/54544] Option -Wuninitialized does not work as documented with volatile
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54544 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Component|c |middle-end --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-10 21:22:44 UTC --- As you see, in the code: 'bar' is an automatic variable, 'bar' has been declared volatile No it is not declared as volatile. Its type is a pointer to a volatile memory location. Not a volatile pointer :).
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 Larry Baker baker at usgs dot gov changed: What|Removed |Added Attachment #28054|0 |1 is obsolete|| --- Comment #21 from Larry Baker baker at usgs dot gov 2012-09-10 21:27:25 UTC --- Created attachment 28162 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28162 Patch for trunk version 2012-08-12 of gcc/config/m68k/m68k.md
[Bug target/54089] [SH] Refactor shift patterns
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54089 --- Comment #17 from Oleg Endo olegendo at gcc dot gnu.org 2012-09-10 21:27:30 UTC --- Created attachment 28163 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28163 Alternative dropped software dynamic ashlsi3,lshrsi3 patch (In reply to comment #16) Author: olegendo Date: Mon Sep 10 20:35:25 2012 New Revision: 191161 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191161 Log: PR target/54089 * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if dynamic shifts are available. (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment. * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments. * config/sh/predicates.md (shift_count_operand): Allow arith_reg_operand even if TARGET_DYNSHIFT is false. * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns if needed. (ashlsi3_d_call, lshrsi3_d_call): New insns. PR target/54089 * config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0. (lshrsi3): Reimplement as lshrsi3_r0. PR target/54089 * gcc.target/sh/pr54089-3.c: New. Added: trunk/gcc/testsuite/gcc.target/sh/pr54089-3.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/sh/predicates.md trunk/gcc/config/sh/sh.c trunk/gcc/config/sh/sh.h trunk/gcc/config/sh/sh.md trunk/gcc/testsuite/ChangeLog trunk/libgcc/ChangeLog trunk/libgcc/config/sh/lib1funcs.S This patch is just for the record/reference. It is a little bit more complex than the committed patch. The main difference is the clobber list and the input/output regs of the shift insns. The committed version seemed more beneficial.
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 Larry Baker baker at usgs dot gov changed: What|Removed |Added Attachment #28081|0 |1 is obsolete|| --- Comment #22 from Larry Baker baker at usgs dot gov 2012-09-10 21:28:46 UTC --- Created attachment 28164 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28164 Patch for trunk version 2012-08-12 of gcc/config/m68k/m68k.c
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 Larry Baker baker at usgs dot gov changed: What|Removed |Added Attachment #28164|0 |1 is obsolete|| --- Comment #23 from Larry Baker baker at usgs dot gov 2012-09-10 21:31:32 UTC --- Created attachment 28165 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28165 Patch for trunk version 2012-08-12 of gcc/config/m68k/m68k.c Left out Pmode in plus_constant() again. Sorry.
[Bug middle-end/54544] Option -Wuninitialized does not work as documented with volatile
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54544 Zakhar jimfr06 at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #2 from Zakhar jimfr06 at gmail dot com 2012-09-10 21:33:15 UTC --- Oh yes... my bad! So we replace lines 03 to 09 by /*03*/ extern int /*04*/ foo( p ) /*05*/ int * volatile p; /*06*/ { /*07*/ volatile int foobar,barfoo; /*08*/ volatile int flag=0; /*09*/ int * volatile bar; now it's volatile pointer and all works fine, no warning whatsoever. Thank a lot, to have solved that. I'll markd it as RESOLVED/INVALID then. Best regards.
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 --- Comment #24 from Larry Baker baker at usgs dot gov 2012-09-10 21:36:24 UTC --- Created attachment 28166 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28166 Patch for trunk version 2012-09-10 of gcc/opts-global.c Reject the pseudo argument pointer register as a -fstack-limit-register.
[Bug target/28896] -fstack-limit-symbol and m68k and non 68020
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896 --- Comment #25 from Larry Baker baker at usgs dot gov 2012-09-10 21:52:34 UTC --- Created attachment 28167 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28167 Patches for Sourcery GCC-4.6-2011.09-23 for ColdFire uClinux These are the patches I am testing. They are for the Mentor Graphics Sourcery CodeBench Lite Edition C/C++ compilers for ColdFire uClinux. The generated code seems to be fine. Unfortunately, my test system is not. And, my assumption that __stack_start was a good choice for detecting stack overflow does not seem to be working out. For my test uClinux executable, stack-overflow.c: #include stdio.h void overflow( int i ) { /* Allocate automatic array j[256] so stack limit checking works. */ int j[256]; /* Stack limit checking tests only whether the stack is large enough for */ /* the initial stack allocation: saved registers and automatic variables. */ /* Stack limit checking does not test for stack overflow in the body of a */ /* function. That is what happens when j[] is not present. When j[] is */ /* too large, the program will abnormally terminate on its own (illegal */ /* instruction trap?). j[256] works. */ i++; printf( i = %i\n, i ); overflow( i ); } int main() { overflow( 0 ); return 0; } the stack is allocated 4K (0x1000). When I hacked the .s file to print out the stack pointer and __stack start, it shows that there is more than 4K between the value in the stack pointer and __stack_start: %sp = 0x405f3ee4 __stack_start = 0x405f08b4 That is not what I was expecting. Here are the instructions for creating the patched GCC I am using: $ wget --no-check-certificate https://sourcery.mentor.com/GNUToolchain/package9493/public/m68k-uclinux/freescale-coldfire-2011.09-23-m68k-uclinux-i686-pc-linux-gnu.tar.bz2 $ tar -xjf freescale-coldfire-2011.09-23-m68k-uclinux-i686-pc-linux-gnu.tar.bz2 $ wget --no-check-certificate https://sourcery.mentor.com/GNUToolchain/package9493/public/m68k-uclinux/freescale-coldfire-2011.09-23-m68k-uclinux.src.tar.bz2 $ tar -xjf freescale-coldfire-2011.09-23-m68k-uclinux.src.tar.bz2 -O freescale-coldfire-2011.09-23-m68k-uclinux/gcc-2011.09-23.tar.bz2 | tar -xjf - $ cd gcc-4.6-2011.09 $ patch -b -p 1 ../gcc-4.6-2011.09-23.patch $ cd .. $ ( cd cross-gcc-4.6-2011.09 ; \ PATH=${PWD}/../freescale-coldfire-2011.09/bin:${PATH/.:/} \ CC_FOR_BUILD=gcc \ CC=gcc \ CXX=g++ \ AR=ar \ RANLIB=ranlib \ AS_FOR_TARGET=m68k-uclinux-as \ LD_FOR_TARGET=m68k-uclinux-ld \ AR_FOR_TARGET=m68k-uclinux-ar \ RANLIB_FOR_TARGET=m68k-uclinux-ranlib \ NM_FOR_TARGET=m68k-uclinux-nm \ OBJDUMP_FOR_TARGET=m68k-uclinux-objdump \ STRIP_FOR_TARGET=m68k-uclinux-strip \ ${PWD}/../gcc-4.6-2011.09/configure \ --disable-decimal-float \ --disable-fixed-point \ --disable-libffi \ --disable-libgomp \ --disable-libmudflap \ --disable-libquadmath \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-nls \ --disable-shared \ --enable-languages=c,c++ \ --enable-lto \ --enable-poison-system-directories \ --enable-threads \ --prefix=${PWD}/../freescale-coldfire-2011.09 \ --program-prefix=m68k-uclinux- \ --target=m68k-uclinux \ --with-arch=cf \ --with-gnu-as \ --with-gnu-ld \ --with-build-time-tools=${PWD}/../freescale-coldfire-2011.09/m68k-uclinux/bin \ --with-host-libstdcxx='-static-libgcc -static-libstdc++ -lm' \ --with-sysroot=${PWD}/../freescale-coldfire-2011.09/m68k-uclinux/libc ) $ ( cd cross-gcc-4.6-2011.09 ; \ PATH=${PWD}/../freescale-coldfire-2011.09/bin:${PATH/.:/} \ make -j4 ) $ ( cd cross-gcc-4.6-2011.09 ; \ PATH=${PWD}/../freescale-coldfire-2011.09/bin:${PATH/.:/} \ make install ) $ toolchains/freescale-coldfire-2011.09-patched/bin/m68k-uclinux-gcc -mcpu=5208 -fomit-frame-pointer -fno-common -fno-builtin -fno-dwarf2-cfi-asm -msep-data -fstack-limit-symbol=__stack_start -o check-stack-overflow stack-overflow.c Larry Baker
[Bug debug/54534] [4.7 Regression] Missing location for unused variable
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54534 Joel Brobecker brobecker at gnat dot com changed: What|Removed |Added CC||brobecker at gnat dot com --- Comment #2 from Joel Brobecker brobecker at gnat dot com 2012-09-10 21:59:26 UTC --- Hello, here is another example in Ada where we are also missing the location information even though, at least on the surface, the variable is used: with Ada.Text_IO; use Ada.Text_IO; procedure Subprogram is X : String := hello; Y : String := goodbye; Z : constant String := X Y; begin Put_Line (X); -- BREAK HERE Put_Line (Y); Put_Line (Z); end Subprogram; Trying to print the value of variables X and Y yield the same result (optimized out), because the location attribute is missing. I don't think it's a huge loss to not be able to print the value of unused variables, but I think that the example above is more problematic. Restoring the previous behavior, even if accidental, would really help... (thank you!)
[Bug c++/54541] SFINAE bug: handling incomplete return types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54541 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-09-10 AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com Target Milestone|--- |4.8.0 Ever Confirmed|0 |1 --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-10 22:19:09 UTC --- On it.
[Bug c++/54545] New: diagnostic overflow
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54545 Bug #: 54545 Summary: diagnostic overflow Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: igod...@pacbell.net This code: enum class d(a,b,c}; gets you this: s3:~/ootbc/personal/ivan$ g++ -std=c++0x foo.cc foo.cc:1:1: warning: elaborated-type-specifier for a scoped enum must not use the âclassâ keyword [enabled by default] foo.cc:1:12: error: use of enum âdâ without previous declaration foo.cc:1:15: error: expected â)â before â,â token foo.cc:1:17: error: invalid type in declaration before â,â token foo.cc:1:19: error: expected initializer before â}â token foo.cc:1:19: error: expected declaration before â}â token
[Bug c++/54542] SFINAE bug: handling new expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54542 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-09-10 AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com Target Milestone|--- |4.8.0 Ever Confirmed|0 |1 --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-10 22:42:31 UTC --- On it.
[Bug c++/53783] [4.8 Regression] lambda in lambda in template function rejected
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53783 --- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 23:51:41 UTC --- Author: jason Date: Mon Sep 10 23:51:34 2012 New Revision: 191164 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191164 Log: PR c++/54538 PR c++/53783 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR for LAMBDA_EXPR_EXTRA_SCOPE except for function scope. Added: trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 --- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 23:51:41 UTC --- Author: jason Date: Mon Sep 10 23:51:34 2012 New Revision: 191164 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191164 Log: PR c++/54538 PR c++/53783 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR for LAMBDA_EXPR_EXTRA_SCOPE except for function scope. Added: trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 23:51:41 UTC --- Author: jason Date: Mon Sep 10 23:51:34 2012 New Revision: 191164 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191164 Log: PR c++/54538 PR c++/53783 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR for LAMBDA_EXPR_EXTRA_SCOPE except for function scope. Added: trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog --- Comment #11 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 23:52:41 UTC --- Fixed.
[Bug c++/54538] [4.8 Regression] Getting assembler messages when compiling
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54538 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #11 from Jason Merrill jason at gcc dot gnu.org 2012-09-10 23:52:41 UTC --- Fixed.
[Bug other/54398] Incorrect ARM assembly when building with -fno-omit-frame-pointer -O2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54398 --- Comment #5 from Carrot carrot at google dot com 2012-09-11 00:10:45 UTC --- It's the bug in local dse sub step in dse.c. 66 (insn/f 70 69 71 2 (set (reg/f:SI 7 r7) 67 (plus:SI (reg/f:SI 13 sp) 68 (const_int 0 [0]))) t.ii:24 -1 69 (nil)) This insn setup the hfp, r7 197 (insn 12 30 17 2 (set (mem/s/c:SI (reg/f:SI 7 r7) [4 tmp1.x+0 S4 A64]) 198 (reg:SI 12 ip [orig:137 D.1799 ] [137])) t.ii:8 694 {*thumb2_movsi_insn} 199 (nil)) This is the store instruction, the memory base address is r7, the hfp register, dse think hfp is constant inside the function, so give it a store group 221 (insn 37 36 34 2 (set (reg/f:SI 8 r8 [170]) 222 (reg/f:SI 7 r7)) t.ii:32 694 {*thumb2_movsi_insn} 223 (expr_list:REG_EQUIV (plus:SI (reg/f:SI 7 r7) 224 (const_int 0 [0])) 225 (nil))) This insn move r7 to r8, it also equals to the value of sp 245 (insn 38 35 39 2 (parallel [ 246 (set (reg:SI 0 r0) 247 (mem/s/c:SI (reg/f:SI 8 r8 [170]) [3 tmp1+0 S4 A64])) 248 (set (reg:SI 1 r1) 249 (mem/s/c:SI (plus:SI (reg/f:SI 8 r8 [170]) 250 (const_int 4 [0x4])) [3 tmp1+4 S4 A32])) 251 ]) t.ii:32 369 {*ldm2_ia} 252 (nil)) This is the load instruction, the memory base address is r8, const_or_frame_p returns false for r8, after using cselib_expand_value_rtx to r8, we get a base address sp, const_or_frame_p still return false for it. So the corresponding group id is -1 (no corresponding store group), then it can't match the store insn 12. So dse consider the memory stored in insn 12 is never used, thus a dead store, and can be eliminated. The problem is the hfp based address is considered constant base address, sp and derived addresses are considered varied base address, they will not be matched when detecting interfering memory access. But in many cases sp and hfp can be same. Even worse, addresses copied from or derived from hfp could be recognized as derived from sp, like in this case, and causes memory access mismatch.
[Bug c++/54542] SFINAE bug: handling new expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54542 --- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2012-09-11 01:05:21 UTC --- Author: paolo Date: Tue Sep 11 01:05:12 2012 New Revision: 191170 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191170 Log: /cp 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * call.c (build_cxx_call): Add tsubst_flags_t parameter, use require_complete_type_sfinae. (build_op_delete_call, build_over_call): Adjust. * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t parameter. (cp_build_function_call_vec): Adjust. * init.c (build_new_1): Likewise. * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1): Likewise. * optimize.c (build_delete_destructor_body): Likewise. * cp-tree.h: Adjust declarations. * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae. /testsuite 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * g++.dg/cpp0x/sfinae40.C: New. * g++.dg/cpp0x/sfinae41.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/sfinae40.C trunk/gcc/testsuite/g++.dg/cpp0x/sfinae41.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/init.c trunk/gcc/cp/optimize.c trunk/gcc/cp/rtti.c trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog
[Bug c++/54541] SFINAE bug: handling incomplete return types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54541 --- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2012-09-11 01:05:22 UTC --- Author: paolo Date: Tue Sep 11 01:05:12 2012 New Revision: 191170 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191170 Log: /cp 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * call.c (build_cxx_call): Add tsubst_flags_t parameter, use require_complete_type_sfinae. (build_op_delete_call, build_over_call): Adjust. * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t parameter. (cp_build_function_call_vec): Adjust. * init.c (build_new_1): Likewise. * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1): Likewise. * optimize.c (build_delete_destructor_body): Likewise. * cp-tree.h: Adjust declarations. * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae. /testsuite 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * g++.dg/cpp0x/sfinae40.C: New. * g++.dg/cpp0x/sfinae41.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/sfinae40.C trunk/gcc/testsuite/g++.dg/cpp0x/sfinae41.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/init.c trunk/gcc/cp/optimize.c trunk/gcc/cp/rtti.c trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog
[Bug c++/54541] SFINAE bug: handling incomplete return types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54541 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-11 01:06:22 UTC --- Fixed.
[Bug c++/54541] SFINAE bug: handling incomplete return types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54541 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2012-09-11 01:05:22 UTC --- Author: paolo Date: Tue Sep 11 01:05:12 2012 New Revision: 191170 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191170 Log: /cp 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * call.c (build_cxx_call): Add tsubst_flags_t parameter, use require_complete_type_sfinae. (build_op_delete_call, build_over_call): Adjust. * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t parameter. (cp_build_function_call_vec): Adjust. * init.c (build_new_1): Likewise. * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1): Likewise. * optimize.c (build_delete_destructor_body): Likewise. * cp-tree.h: Adjust declarations. * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae. /testsuite 2012-09-10 Paolo Carlini paolo.carl...@oracle.com PR c++/54541 PR c++/54542 * g++.dg/cpp0x/sfinae40.C: New. * g++.dg/cpp0x/sfinae41.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/sfinae40.C trunk/gcc/testsuite/g++.dg/cpp0x/sfinae41.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/init.c trunk/gcc/cp/optimize.c trunk/gcc/cp/rtti.c trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-11 01:06:22 UTC --- Fixed.
[Bug c++/54542] SFINAE bug: handling new expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54542 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-09-11 01:08:13 UTC --- Fixed.
[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362 --- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-11 04:21:12 UTC --- Author: pinskia Date: Tue Sep 11 04:21:00 2012 New Revision: 191172 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191172 Log: 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/54362 * trans-mem.c (thread_private_new_memory): Handle COND_EXPR also. 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/c54362 * gcc.dg/tm/memopt-16.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/tm/memopt-16.c Modified: trunk/gcc/ChangeLog trunk/gcc/trans-mem.c
[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362 --- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-11 04:21:42 UTC --- Author: pinskia Date: Tue Sep 11 04:21:30 2012 New Revision: 191173 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191173 Log: 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/54362 * trans-mem.c (thread_private_new_memory): Handle COND_EXPR also. 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/c54362 * gcc.dg/tm/memopt-16.c: New testcase. Modified: trunk/gcc/testsuite/ChangeLog
[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.8.0 --- Comment #7 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-11 04:21:42 UTC --- Author: pinskia Date: Tue Sep 11 04:21:30 2012 New Revision: 191173 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=191173 Log: 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/54362 * trans-mem.c (thread_private_new_memory): Handle COND_EXPR also. 2012-09-10 Andrew Pinski apin...@cavium.com PR tree-opt/c54362 * gcc.dg/tm/memopt-16.c: New testcase. Modified: trunk/gcc/testsuite/ChangeLog --- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-11 04:21:56 UTC --- Fixed in 4.8 and above.
[Bug middle-end/54362] COND_EXPR not understood by either alias or ITM
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54362 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.8.0 --- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-09-11 04:21:56 UTC --- Fixed in 4.8 and above.