[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136 --- Comment #6 from Jakub Jelinek 2011-05-25 07:00:06 UTC --- Author: jakub Date: Wed May 25 07:00:01 2011 New Revision: 174168 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174168 Log: PR c++/49136 * semantics.c (cxx_eval_bit_field_ref): Handle the case when BIT_FIELD_REF doesn't cover only a single field. * g++.dg/cpp0x/constexpr-bitfield2.C: New test. * g++.dg/cpp0x/constexpr-bitfield3.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield2.C trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug c++/49155] New: [C++0x] decltype-specifier not supported as base type specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155 Summary: [C++0x] decltype-specifier not supported as base type specifier Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: daniel.krueg...@googlemail.com CC: ja...@redhat.com gcc 4.7.0 20110521 (experimental) in C++0x mode rejects the following code: //--- struct A{}; A foo(); struct B : decltype(foo()) {}; // # //--- "error: expected class-name before 'decltype' error: expected '{' before 'decltype' error: expected unqualified-id before '{' token" This code should be accepted, a decltype-specifier is now valid in base-specifier-list as of FDIS, Clause 10.
[Bug c/49128] -march=native generates unsupported instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128 --- Comment #9 from Jakub Jelinek 2011-05-25 07:12:21 UTC --- Author: jakub Date: Wed May 25 07:12:17 2011 New Revision: 174171 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174171 Log: PR target/49128 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/driver-i386.c
[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #8 from Jakub Jelinek 2011-05-25 07:16:03 UTC --- Fixed.
[Bug c++/49136] [C++0x][constexpr] Incorrect constexpr c'tor evaluation with bitfields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49136 --- Comment #7 from Jakub Jelinek 2011-05-25 07:03:28 UTC --- Author: jakub Date: Wed May 25 07:03:25 2011 New Revision: 174169 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174169 Log: PR c++/49136 * semantics.c (cxx_eval_bit_field_ref): Handle the case when BIT_FIELD_REF doesn't cover only a single field. * g++.dg/cpp0x/constexpr-bitfield2.C: New test. * g++.dg/cpp0x/constexpr-bitfield3.C: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield2.C branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/constexpr-bitfield3.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/semantics.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||jakub at gcc dot gnu.org Resolution||FIXED --- Comment #7 from Jakub Jelinek 2011-05-25 07:42:31 UTC --- Fixed.
[Bug rtl-optimization/48971] [4.7 regression] ICE with -msoft-float -O2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48971 Eric Botcazou changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #6 from Eric Botcazou 2011-05-25 07:59:16 UTC --- This should work again now.
[Bug rtl-optimization/49014] [4.7 Regression] ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7132 with even more insane set of flags
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49014 --- Comment #5 from Andrey Belevantsev 2011-05-25 07:59:09 UTC --- Author: abel Date: Wed May 25 07:59:06 2011 New Revision: 174172 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174172 Log: PR rtl-optimization/49014 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/athlon.md
[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155 --- Comment #1 from Jonathan Wakely 2011-05-25 08:31:13 UTC --- dup of PR 42603
[Bug tree-optimization/49144] [4.6/4.7 regression] miscompiled reverse_iterator?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49144 Richard Guenther changed: What|Removed |Added Depends on||48702 --- Comment #4 from Richard Guenther 2011-05-25 08:30:28 UTC --- Sounds similar to PR48702.
[Bug c++/48106] [C++0x] ICE with scoped enum with fixed underlying type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48106 --- Comment #4 from Jonathan Wakely 2011-05-25 08:18:15 UTC --- thanks!
[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155 --- Comment #2 from Daniel Krügler 2011-05-25 08:48:39 UTC --- (In reply to comment #1) > dup of PR 42603 I agree - I apologize for the missing bug search in this case (I usually do).
[Bug c++/49156] New: [C++0x] Error reporting routines re-entered
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49156 Summary: [C++0x] Error reporting routines re-entered Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org from a comment on PR 47336 template T declval(); template struct S { template static U get(const volatile T&); template static decltype(*declval()) get(...); typedef decltype(get(declval())) type; }; struct X { }; S::type x; err.cc: In instantiation of ‘S’: err.cc:17:5: instantiated from here err.cc:12:42: error: no matching function for call to ‘S::get(X)’ err.cc:12:42: note: candidates are: err.cc:7:35: note: template static U S::get(const volatile T&) [with U = U, T = X] Internal compiler error: Error reporting routines re-entered.
[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292 --- Comment #6 from Jonathan Wakely 2011-05-25 09:05:15 UTC --- Jason, I've found a decent workaround now so if you have higher priority issues you'd rather fix then don't spend time on this one for my benefit. Thanks for the incredible number of fixes you're making at the moment!
[Bug libobjc/48177] incorrect registration of typed selectors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48177 --- Comment #7 from Nicola Pero 2011-05-25 09:08:00 UTC --- Author: nicola Date: Wed May 25 09:07:57 2011 New Revision: 174176 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174176 Log: In libobjc/: 2011-05-25 Nicola Pero Backport from mainline 2011-05-24 Nicola Pero PR libobjc/48177 * selector.c (__sel_register_typed_name): Use sel_types_match() instead of strcmp() to compare selector types (Suggestion by Richard Frith-Macdonald ). In gcc/testsuite/: 2011-05-25 Nicola Pero Backport from mainline 2011-05-24 Nicola Pero PR libobjc/48177 * objc.dg/pr48177.m: New testcase. Added: branches/gcc-4_6-branch/gcc/testsuite/objc.dg/pr48177.m Modified: branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/libobjc/ChangeLog branches/gcc-4_6-branch/libobjc/selector.c
[Bug libobjc/48177] incorrect registration of typed selectors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48177 Nicola Pero changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #8 from Nicola Pero 2011-05-25 09:13:32 UTC --- Applied to the 4.6 branch as well. 4.6.1 will include this fix. Thanks
[Bug c++/47336] [C++0x] ICE: "Error reporting routines re-entered"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47336 --- Comment #5 from Jonathan Wakely 2011-05-25 08:58:32 UTC --- Thanks, Jason, I submitted PR 49156
[Bug rtl-optimization/49148] Certain expressions take an extremely long time for no apparent reason
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49148 --- Comment #6 from Richard Guenther 2011-05-25 09:26:56 UTC --- Try -ffast-math (the default for ICC) which disables subnormals.
[Bug c++/49155] [C++0x] decltype-specifier not supported as base type specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49155 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #3 from Jonathan Wakely 2011-05-25 09:38:50 UTC --- no problem - I memorise all c++0x bug reports so you don't have to ;) *** This bug has been marked as a duplicate of bug 42603 ***
[Bug libstdc++/49141] 26_numerics/complex/cons/48760.cc FAILs on Tru64 UNIX V5.1B, Solaris 8 and 9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49141 --- Comment #7 from paolo at gcc dot gnu.org 2011-05-25 09:46:02 UTC --- Author: paolo Date: Wed May 25 09:45:58 2011 New Revision: 174179 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174179 Log: 2011-05-24 Paolo Carlini PR libstdc++/49141 * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std. * testsuite/26_numerics/headers/cmath/19322.cc: Likewise. Modified: branches/gcc-4_6-branch/libstdc++-v3/ChangeLog branches/gcc-4_6-branch/libstdc++-v3/testsuite/26_numerics/complex/cons/48760.cc branches/gcc-4_6-branch/libstdc++-v3/testsuite/26_numerics/headers/cmath/19322.cc
[Bug libstdc++/49141] 26_numerics/complex/cons/48760.cc FAILs on Tru64 UNIX V5.1B, Solaris 8 and 9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49141 Paolo Carlini changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC|paolo.carlini at oracle dot | |com | Resolution||FIXED AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com --- Comment #8 from Paolo Carlini 2011-05-25 09:48:12 UTC --- Done.
[Bug c++/42603] [C++0x] decltype not supported for parent class specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42603 Jonathan Wakely changed: What|Removed |Added CC||daniel.kruegler at ||googlemail dot com --- Comment #4 from Jonathan Wakely 2011-05-25 09:38:50 UTC --- *** Bug 49155 has been marked as a duplicate of this bug. ***
[Bug libstdc++/48881] Dynamic link to libstdc++-6.dll / libgcc_s_sjlj-1.dll produces broken binaries
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48881 Paolo Carlini changed: What|Removed |Added CC||dave.korn.cygwin at gmail ||dot com, ktietz at gcc dot ||gnu.org --- Comment #1 from Paolo Carlini 2011-05-25 09:51:37 UTC --- Kai, Dave, can you have a look?
[Bug tree-optimization/48738] pow() fails to produce (some) subnormalized numbers with integer exponents
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48738 Paolo Carlini changed: What|Removed |Added CC|paulo1205 at yahoo dot com |paolo.carlini at oracle dot ||com, wschmidt at gcc dot ||gnu.org Component|libstdc++ |tree-optimization --- Comment #5 from Paolo Carlini 2011-05-25 09:54:15 UTC --- I don't think this is a library issue. Maybe Bill is interested / has an opinion..
[Bug rtl-optimization/48633] [4.7 regression] IRA causes ICE in compensate_edge
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48633 Eric Botcazou changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #6 from Eric Botcazou 2011-05-25 09:54:57 UTC --- Thanks, Vlad.
[Bug rtl-optimization/49157] New: Unnecessary stack save/restore code generated for a leaf function (arm-elf-gcc)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49157 Summary: Unnecessary stack save/restore code generated for a leaf function (arm-elf-gcc) Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: b...@broadcom.com For the following example: struct Complex16{ short a; short b; }; short foo (struct Complex16 s) { return s.a + s.b; } Compile with: arm-elf-gcc tst.c -O2 -S -mstructure-size-boundary=8 It produces: foo: @ args = 0, pretend = 0, frame = 4 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. movr3, r0, asl #16 movr3, r3, lsr #16 addr0, r3, r0, lsr #16 movr0, r0, asl #16 subsp, sp, #4 movr0, r0, asr #16 addsp, sp, #4 bxlr The problem is with struct-size-boundary=8, the structure has BLKmode and mapped to memory after RTL expand. However, memory accesses are optimized away later. But GCC records a stack item anyway and generates stack frame save/restore code for this leaf function. If we compile without -mstructure-size-boundary=8 (default is 32), it generates much better code. foo: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. addr0, r0, r0, asr #16 movr0, r0, asl #16 movr0, r0, asr #16 bxlr This is not limited to ARM gcc. Our target has the same issue because STRUCTURE_SIZE_BOUNDARY = 8 to save data memory size. Though I only tested gcc 4.6, I believe trunk gcc probably has the same problem.
[Bug c++/49158] New: Incorrect pointer arithmetic with negative offset
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49158 Summary: Incorrect pointer arithmetic with negative offset Product: gcc Version: unknown Status: UNCONFIRMED Severity: critical Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: a...@os.inf.tu-dresden.de Created attachment 24353 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24353 The source code triggering the bug The compiler generates incorrect code for pointer arithmetic on an external array of structures. When you use 'array[-1] = x' the target addresses are correct when you use '*(array -1) = x' the addresses are sizeof(void*) too low. I tested the code for x86 and x86_64 both are affected affected compiler version: g++ (Debian 4.6.0-9) 4.6.1 20110524 (prerelease) g++ 4.7.0, 4.6.0 works with: g++ 4.5.2 test.cc provides the source code, test.S generated with: g++ -S -fverbose-asm -o test.S test.cc shows the two inconsistent code snippets before and after the comment (# comment from me).
[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702 --- Comment #22 from Richard Guenther 2011-05-25 10:19:12 UTC --- Created attachment 24354 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24354 alternative patch for 4.6 This is another patch - it avoids creating MEM_REFs for base addresses that we do not know whether they are always in bounds of the object it points to. Instead we force the use of TARGET_MEM_REFs there and dumb down the alias oracle to not assume that base address is within bounds. Sounds like the most reasonable solution for 4.6 to me.
[Bug middle-end/49062] [4.7 regression] Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49062 Rainer Orth changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED URL||http://gcc.gnu.org/ml/gcc-p ||atches/2011-05/msg01817.htm ||l Resolution||FIXED --- Comment #2 from Rainer Orth 2011-05-25 10:45:14 UTC --- Fixed for 4.7.0.
[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702 Richard Guenther changed: What|Removed |Added Blocks|49144 | CC||doko at ubuntu dot com --- Comment #23 from Richard Guenther 2011-05-25 10:33:24 UTC --- *** Bug 49144 has been marked as a duplicate of this bug. ***
[Bug c++/49158] Incorrect pointer arithmetic with negative offset
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49158 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jakub at gcc dot gnu.org Resolution||INVALID --- Comment #1 from Jakub Jelinek 2011-05-25 10:46:47 UTC --- The testcase triggers undefined behavior in both cases, so it is irrelevant what code gcc generates for it.
[Bug tree-optimization/49144] [4.6/4.7 regression] miscompiled reverse_iterator?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49144 Richard Guenther changed: What|Removed |Added Status|NEW |RESOLVED Depends on|48702 | Resolution||DUPLICATE --- Comment #5 from Richard Guenther 2011-05-25 10:33:24 UTC --- I have verified that the patches for PR48702 also fix this bug. *** This bug has been marked as a duplicate of bug 48702 ***
[Bug middle-end/49062] [4.7 regression] Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49062 --- Comment #1 from Rainer Orth 2011-05-25 10:20:16 UTC --- Author: ro Date: Wed May 25 10:20:12 2011 New Revision: 174180 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174180 Log: 2011-05-25 Jan Hubicka PR middle-end/49062 * ipa.c (function_and_variable_visibility): Only add to same comdat group list if DECL_ONE_ONLY. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa.c
[Bug c/49128] -march=native generates unsupported instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128 --- Comment #10 from Joost VandeVondele 2011-05-25 11:34:48 UTC --- (In reply to comment #9) > Author: jakub > Date: Wed May 25 07:12:17 2011 > New Revision: 174171 > > URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174171 > Log: > PR target/49128 > * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo. > > Modified: > trunk/gcc/ChangeLog > trunk/gcc/config/i386/driver-i386.c FYI, the same bug made it to the 4.6 branch.
[Bug tree-optimization/44897] -flto + ipa-sra misoptimize sqlite (non-plugin only)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897 --- Comment #18 from Jan Hubicka 2011-05-25 11:36:53 UTC --- Author: hubicka Date: Wed May 25 11:36:49 2011 New Revision: 174183 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174183 Log: PR tree-optimization/44897 * ipa-inline.c (cgraph_decide_recursive_inlining): Do not divide by zero for insane profiles. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/ipa-inline.c
[Bug tree-optimization/44897] -flto + ipa-sra misoptimize sqlite (non-plugin only)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897 --- Comment #19 from Jan Hubicka 2011-05-25 11:44:17 UTC --- OK, division by 0 should be fixed both on mainline and 4.6 branch. I think the wrong code issue might be the corruption of jump tables, but will need to get past firewall to double check unless Martin beats me. It is his bug after all ;)
[Bug c++/49102] [C++0x] Use of deleted copy constructor not diagnosed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49102 Paolo Carlini changed: What|Removed |Added Target Milestone|4.6.1 |4.7.0 --- Comment #5 from Paolo Carlini 2011-05-25 12:06:37 UTC --- Confirmed as non-fixed in the branch.
[Bug c++/49107] [C++0x][4.7 Regression] incomplete type regression with std::pair
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49107 --- Comment #7 from Paolo Carlini 2011-05-25 12:16:45 UTC --- To be honest, the behavior vs the original testcase, which just uses pair, can be considered a regression; the reduced one, in Comment #5, fails also with 4.6.
[Bug c++/49107] [C++0x][4.7 Regression] incomplete type regression with std::pair
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49107 Paolo Carlini changed: What|Removed |Added Summary|[C++0x] incomplete type |[C++0x][4.7 Regression] |regression with std::pair |incomplete type regression ||with std::pair --- Comment #6 from Paolo Carlini 2011-05-25 12:13:12 UTC --- Jason, sorry for bothering, just wanted to make sure you noticed this regression.
[Bug c/49128] -march=native generates unsupported instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128 --- Comment #11 from Jakub Jelinek 2011-05-25 11:54:01 UTC --- Author: jakub Date: Wed May 25 11:53:58 2011 New Revision: 174184 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174184 Log: PR target/49128 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/i386/driver-i386.c
[Bug tree-optimization/48738] pow() fails to produce (some) subnormalized numbers with integer exponents
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48738 --- Comment #6 from William J. Schmidt 2011-05-25 12:15:46 UTC --- (In reply to comment #5) > I don't think this is a library issue. Maybe Bill is interested / has an > opinion.. Just to agree that it is WAD. The proposed solution just moves the values of x and m for which the rounding will cause edge-case anomalies. Either way, the compounded rounding error means the two versions of pow will never produce identical results. When precision is important, use the real-valued version.
[Bug c++/49066] [C++0x] Non-defining declaration of deleted function suppresses usage validation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49066 Jason Merrill changed: What|Removed |Added CC||boostcpp at gmail dot com --- Comment #5 from Jason Merrill 2011-05-25 12:47:39 UTC --- *** Bug 45539 has been marked as a duplicate of this bug. ***
[Bug c++/48935] [C++0x] Name lookup error at enum class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org |
[Bug c++/45539] [C++0x] Redeclare a deleted function makes gcc does not issue compile error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45539 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE Target Milestone|--- |4.6.1 --- Comment #1 from Jason Merrill 2011-05-25 12:47:39 UTC --- Fixed by the patch for 49066. *** This bug has been marked as a duplicate of bug 49066 ***
[Bug c/49128] -march=native generates unsupported instructions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49128 Joost VandeVondele changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #12 from Joost VandeVondele 2011-05-25 13:08:53 UTC --- fixed
[Bug c++/45523] [C++0x] Failure to bind auto variable to function template instance
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45523 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #6 from Jason Merrill 2011-05-25 12:49:26 UTC --- The testcase works in 4.6.0.
[Bug fortran/49159] New: OpenMP compilation errors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159 Summary: OpenMP compilation errors Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: jose.pascual-guti...@1-act.com I have the following OpenMP Fortran95 test program called test.f90. PROGRAM test USE OMP_LIB, ONLY: OMP_SET_NUM_THREADS IMPLICIT NONE INTEGER, PARAMETER :: numthreds = 4 INTEGER, PARAMETER :: maxnumber = 12 INTEGER :: totalsum, add, number CALL OMP_SET_NUM_THREADS (numthreads) totalsum = 0 add = 1 !$OMP PARALLEL DO & !$OMP SCHEDULE(DYNAMIC,1) & !$OMP DEFAULT(SHARED) & !$OMP PRIVATE(number1,& number2)& !$OMP REDUCTION(+:totalsum) DO nunmber = 1, maxnumber totalsum = add + totalsum + number END DO !$OMP END PARALLEL DO WRITE (*,*) totalsum END PROGRAM test I try to compile it with the command "gfortran -fopenmp test.f90". The compiler returns with the following error message: test.f90:16.24: !$OMP PRIVATE(number1, & 1 Error: Syntax error in OpenMP variable list at (1) test.f90:17.16: number2) & 1 Error: Unclassifiable statement at (1) test.f90:18.8: !$OMP REDUCTION(+:totalsum) 1 Error: Unclassifiable OpenMP directive at (1) test.f90:24.23: !$OMP END PARALLEL DO 1 Error: Unexpectged !$OMP END PARALLEL DO statement at (1) It is clear that the erros are caused by the !$OMP PRIVATE line. It seems that a list of variables cannot be broken in two lines. Had I had !$OMP PRIVATE(number1,number2) & instead of the two lines connected with the & sign, I would have not had any compilation errors. I wanted to try breaking the line, though, because in my codes I have very long lists of private variables. In the previous compiler I used, namely Intel's ifort, I had no issues. Do you have any suggestions when it comes to long lists of private variables? Should I simply have several !$OMP PRIVATE ([var1],[var2],...,[varn]) lines each opening and closing the bracket? Thank you very much
[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133 --- Comment #8 from uros at gcc dot gnu.org 2011-05-25 13:26:46 UTC --- Author: uros Date: Wed May 25 13:26:42 2011 New Revision: 174195 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174195 Log: PR target/49133 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative. testsuite/ChangeLog: PR target/49133 * g++.dg/other/pr49133.C: New test. Added: branches/gcc-4_5-branch/gcc/testsuite/g++.dg/other/pr49133.C Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/i386/sse.md branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160 --- Comment #1 from H.J. Lu 2011-05-25 13:33:18 UTC --- Revision 174185 is OK.
[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160 H.J. Lu changed: What|Removed |Added CC||bernds at gcc dot gnu.org --- Comment #2 from H.J. Lu 2011-05-25 13:34:49 UTC --- It may be caused by revision 174187: http://gcc.gnu.org/ml/gcc-cvs/2011-05/msg00968.html
[Bug bootstrap/49160] New: [4.7 Regression] Bootstrap failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160 Summary: [4.7 Regression] Bootstrap failure Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86-64, revision 174193 gave: In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0, from ../../../src-trunk/libgcc/config/i386/64/_divtc3.c:6: ../../../src-trunk/libgcc/../gcc/libgcc2.h:340:0: warning: "__divtc3" redefined [enabled by default] ../../../src-trunk/libgcc/config/i386/64/_divtc3.c:2:0: note: this is the location of the previous definition ../../../src-trunk/libgcc/config/i386/64/_divtc3.c:10:20: error: '__divtc3_shared' undeclared here (not in a function) ../../../src-trunk/libgcc/config/i386/64/_divtc3.c:10:37: error: '__divtc3_compat' aliased to undefined symbol '__divtc3_shared' make[6]: *** [_divtc3_s.o] Error 1 make[6]: *** Waiting for unfinished jobs In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0, from ../../../src-trunk/libgcc/config/i386/64/_multc3.c:6: ../../../src-trunk/libgcc/../gcc/libgcc2.h:336:0: warning: "__multc3" redefined [enabled by default] ../../../src-trunk/libgcc/config/i386/64/_multc3.c:2:0: note: this is the location of the previous definition In file included from ../../../src-trunk/libgcc/../gcc/libgcc2.c:57:0, from ../../../src-trunk/libgcc/config/i386/64/_powitf2.c:6: ../../../src-trunk/libgcc/../gcc/libgcc2.h:329:0: warning: "__powitf2" redefined [enabled by default] ../../../src-trunk/libgcc/config/i386/64/_powitf2.c:2:0: note: this is the location of the previous definition ../../../src-trunk/libgcc/config/i386/64/_powitf2.c:10:20: error: '__powitf2_shared' undeclared here (not in a function) ../../../src-trunk/libgcc/config/i386/64/_powitf2.c:10:38: error: '__powitf2_compat' aliased to undefined symbol '__powitf2_shared' ../../../src-trunk/libgcc/config/i386/64/_multc3.c:10:20: error: '__multc3_shared' undeclared here (not in a function) make[6]: *** [_powitf2_s.o] Error 1 ../../../src-trunk/libgcc/config/i386/64/_multc3.c:10:37: error: '__multc3_compat' aliased to undefined symbol '__multc3_shared' make[6]: *** [_multc3_s.o] Error 1
[Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728 --- Comment #6 from William J. Schmidt 2011-05-25 13:35:58 UTC --- Author: wschmidt Date: Wed May 25 13:35:53 2011 New Revision: 174196 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174196 Log: 2011-05-25 Bill Schmidt PR tree-optimization/46728 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New. (execute_cse_sincos): Add switch case for BUILT_IN_POW. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-math-opts.c
[Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728 --- Comment #7 from William J. Schmidt 2011-05-25 13:42:14 UTC --- Patch 2 transforms pow(x,n) to multiplies for integer n, similar to patch 1 for powi(x,n).
[Bug c++/45523] [C++0x] Failure to bind auto variable to function template instance
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45523 Paolo Carlini changed: What|Removed |Added Target Milestone|4.6.1 |4.6.0
[Bug tree-optimization/48702] [4.6/4.7 Regression] optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48702 --- Comment #24 from Richard Guenther 2011-05-25 13:58:20 UTC --- (In reply to comment #22) > Created attachment 24354 [details] > alternative patch for 4.6 > > This is another patch - it avoids creating MEM_REFs for base addresses that > we do not know whether they are always in bounds of the object it points to. > Instead we force the use of TARGET_MEM_REFs there and dumb down the alias > oracle to not assume that base address is within bounds. > > Sounds like the most reasonable solution for 4.6 to me. Requires staging on trunk, there are multiple small fixes that need backporting and one last cleanup (and fix) that I had pending needs to be finished first. But I'll continue in this direction.
[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160 Richard Guenther changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug tree-optimization/49161] New: [4.5/4.6/4.7 Regression] Fix VRP on switch stmts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161 Summary: [4.5/4.6/4.7 Regression] Fix VRP on switch stmts Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: ja...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org The following testcase is miscompiled at -O2 on x86_64/i686, starting with: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155937 extern void abort (void); int c; __attribute__((noinline, noclone)) void bar (int x) { if (x != c++) abort (); } __attribute__((noinline, noclone)) void foo (int x) { switch (x) { case 3: goto l1; case 4: goto l2; case 6: goto l3; default: return; } l1: goto l4; l2: goto l4; l3: bar (-1); l4: bar (0); if (x != 4) bar (1); if (x != 3) bar (-1); bar (2); } int main () { foo (3); if (c != 3) abort (); return 0; }
[Bug debug/49162] New: ICE in in output_die, at dwarf2out.c:10568 with -femit-struct-debug-reduced
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49162 Summary: ICE in in output_die, at dwarf2out.c:10568 with -femit-struct-debug-reduced Product: gcc Version: 4.5.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: pl...@agmk.net Created attachment 24355 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24355 testcase. gcc-4.5-20110207 ICEs on attached testcase. please adjust g++ path in 0.sh and run.
[Bug fortran/49159] OpenMP compilation errors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159 Tobias Burnus changed: What|Removed |Added CC||burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus 2011-05-25 14:10:06 UTC --- (In reply to comment #0) > !$OMP PRIVATE(number1,& > number2)& > The compiler returns with the following error message: > !$OMP PRIVATE(number1, & > 1 > Error: Syntax error in OpenMP variable list at (1) How about adding a !$OMP at the beginning of the continuation line? Thus, try: !$OMP PRIVATE(number1,& !$OMP number2)&
[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.05.25 14:10:38 Known to work||4.4.6 Target Milestone|--- |4.5.4 Ever Confirmed|0 |1 Known to fail||4.5.3, 4.6.0, 4.7.0
[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161 --- Comment #1 from Jakub Jelinek 2011-05-25 14:13:06 UTC --- Created attachment 24356 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24356 gcc46-pr49161.patch Untested fix. The problem seems to be that GIMPLE_SWITCH uses until VRP different CASE_LABEL_EXPRs for the same bb, so it adds to the same edge assertion that x == 4 and that x == 3, while instead x >= 3 and x <= 4 assertions should be added.
[Bug fortran/49159] OpenMP compilation errors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49159 --- Comment #2 from Tobias Burnus 2011-05-25 14:23:53 UTC --- I just tested with some other compilers: ifort accepts the invalid code, PathScale and Open64 show a similar syntax error as gfortran, and PGI has a somewhat more legible error message: PGF90-S-0155-Illegal continuation (test.f90: 17) For the correct syntax, cf. OpenMP spec at http://openmp.org/wp/openmp-specifications/
[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292 --- Comment #7 from Jason Merrill 2011-05-25 14:32:09 UTC --- Author: jason Date: Wed May 25 14:32:06 2011 New Revision: 174201 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174201 Log: PR c++/48292 * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of function parameter pack. (tsubst_pack_expansion): Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/variadic109.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418 --- Comment #1 from Jason Merrill 2011-05-25 14:35:12 UTC --- Author: jason Date: Wed May 25 14:35:09 2011 New Revision: 174204 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174204 Log: PR c++/45418 * init.c (perform_member_init): Handle list-initialization of array of non-trivial class type. Added: trunk/gcc/testsuite/g++.dg/cpp0x/initlist50.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/init.c trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/49161] [4.5/4.6/4.7 Regression] Fix VRP on switch stmts
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49161 --- Comment #2 from Richard Guenther 2011-05-25 14:35:14 UTC --- Ick. The patch looks ok to me.
[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080 --- Comment #2 from Jason Merrill 2011-05-25 14:35:03 UTC --- Author: jason Date: Wed May 25 14:35:00 2011 New Revision: 174203 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174203 Log: PR c++/45080 * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op. * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P. Added: trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug c++/48935] [C++0x] Name lookup error at enum class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935 --- Comment #3 from Jason Merrill 2011-05-25 14:35:20 UTC --- Author: jason Date: Wed May 25 14:35:17 2011 New Revision: 174205 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174205 Log: PR c++/48935 * parser.c (cp_parser_constructor_declarator_p): Don't check constructor_name_p for enums. (cp_parser_diagnose_invalid_type_name): Correct error message. Added: trunk/gcc/testsuite/g++.dg/cpp0x/enum16.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/parse/error15.C
[Bug rtl-optimization/49148] Certain expressions take an extremely long time for no apparent reason
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49148 --- Comment #7 from John Peyton 2011-05-25 14:40:56 UTC --- > Try -ffast-math (the default for ICC) which disables subnormals. Thanks, this helped it run much faster! I noticed it still takes longer to divide by 3.0 than by 4.0. More specifically, the following line was fast: new[i] = (A[i-1] + 2*A[i] + A[i+1]) / 4.0; The following line took about 4 times as long to run without -ffast-math: new[i] = (A[i-1] + A[i] + A[i+1]) / 3.0; With -ffast-math, it was faster; however, it was still took about 2 times as long as the division by 4.0 version. In addition, changing division by 3.0 to multiplication by 0.333 or even 0.3 did not affect the speed. Could this also be related to subnormal numbers, or is this just a different issue?
[Bug rtl-optimization/49154] [4.7 Regression]: build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49154 Rainer Orth changed: What|Removed |Added Target|cris-axis-elf |cris-axis-elf, ||sparc-sun-solaris2* CC||ro at gcc dot gnu.org --- Comment #1 from Rainer Orth 2011-05-25 14:44:53 UTC --- Same error on Solaris 11/SPARC.
[Bug c++/47277] [C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47277 Paolo Carlini changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #2 from Paolo Carlini 2011-05-25 14:52:26 UTC --- Very likely due to the fix for c++/48935, we don't ICE anymore. However, as I noticed when I tried to fix this one, we always print: ‘main()::e::~e’ in the error message for line #4, that is, there is code in the front-end which disregards the actual '~e_u()'. Should this be improved as part of these PRs?
[Bug debug/49047] DW_AT_linkage_name missing for constructors and destructors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49047 --- Comment #2 from dodji at seketeli dot org 2011-05-25 15:15:03 UTC --- The candidate patch below might do what you want. Note that, constructors/destructor functions are cloned. The cloning process yields a DIE tree. So the destructor K::~K is represented by an abstract function DIE. There is then a concrete function DIE (let's call it 'foo'), that would effectively contain the code of K::~K, and which DW_AT_abstract_origin points to the DIE of the abstract function. It's for 'foo' that the patch below emits the linkage name. Is this enough for your need? diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 55453a3..c49f90a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -19601,6 +19601,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) dw_die_ref old_die = lookup_decl_die (decl); int declaration = (current_function_decl != decl || class_or_namespace_scope_p (context_die)); + bool fn_has_code_addr_p = false; premark_used_types (); @@ -19769,6 +19770,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) /* We have already generated the labels. */ add_AT_lbl_id (subr_die, DW_AT_low_pc, fde->dw_fde_begin); add_AT_lbl_id (subr_die, DW_AT_high_pc, fde->dw_fde_end); + fn_has_code_addr_p = true; } else { @@ -19780,6 +19782,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) ASM_GENERATE_INTERNAL_LABEL (label_id, FUNC_END_LABEL, current_function_funcdef_no); add_AT_lbl_id (subr_die, DW_AT_high_pc, label_id); + fn_has_code_addr_p = true; } #if VMS_DEBUGGING_INFO @@ -19928,7 +19931,15 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) if (cfun->static_chain_decl) add_AT_location_description (subr_die, DW_AT_static_link, - loc_list_from_tree (cfun->static_chain_decl, 2)); + loc_list_from_tree (cfun->static_chain_decl, 2)); + + if (fn_has_code_addr_p && origin && TREE_PUBLIC (origin)) +/* So this is where the actual code for a publicly accessible +cloned function is. Let's emit linkage name attribute for +it. This helps debuggers to e.g, set breakpoints into +constructors/destructors when the user asks "break +K::K". */ +add_linkage_name (subr_die, decl); } /* Generate child dies for template paramaters. */
[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080 --- Comment #3 from Jason Merrill 2011-05-25 15:26:29 UTC --- Author: jason Date: Wed May 25 15:26:25 2011 New Revision: 174208 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174208 Log: PR c++/45080 * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op. * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv5.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/pt.c branches/gcc-4_6-branch/gcc/cp/semantics.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418 --- Comment #2 from Jason Merrill 2011-05-25 15:26:37 UTC --- Author: jason Date: Wed May 25 15:26:33 2011 New Revision: 174209 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174209 Log: PR c++/45418 * init.c (perform_member_init): Handle list-initialization of array of non-trivial class type. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/initlist50.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/init.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug c++/48935] [C++0x] Name lookup error at enum class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #5 from Jason Merrill 2011-05-25 15:27:59 UTC --- Fixed for 4.6.1.
[Bug c++/48935] [C++0x] Name lookup error at enum class
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48935 --- Comment #4 from Jason Merrill 2011-05-25 15:26:47 UTC --- Author: jason Date: Wed May 25 15:26:42 2011 New Revision: 174210 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174210 Log: PR c++/48935 * parser.c (cp_parser_constructor_declarator_p): Don't check constructor_name_p for enums. (cp_parser_diagnose_invalid_type_name): Correct error message. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/enum16.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/parser.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/g++.dg/parse/error15.C
[Bug target/49163] New: ICE in change_address_1, at emit-rtl.c:1936
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49163 Summary: ICE in change_address_1, at emit-rtl.c:1936 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: rmansfi...@qnx.com Host: x86_64-linux-gnu Target: sh4-unknown-linux-gnu Build: x86_64-linux-gnu Created attachment 24357 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24357 preprocessed source $ ./xgcc -v Using built-in specs. COLLECT_GCC=./xgcc Target: sh4-unknown-linux-gnu Configured with: ../configure --target=sh4-unknown-linux-gnu --prefix=/home/ryan/x-tools/sh4-unknown-linux-gnuc --with-local-prefix=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root --disable-multilib --with-sysroot=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root --with-newlib --enable-threads=no --disable-shared --enable-__cxa_atexit --disable-nls --enable-symvers=gnu --enable-languages=c --enable-target-optspace --enable-checking=rtl --disable-libmudflap --disable-libssp Thread model: single gcc version 4.7.0 20110525 (experimental) [trunk revision 174205] (GCC) $ ./xgcc -B. ~/ice.i -Os /home/ryan/ice.i: In function 'foo': /home/ryan/ice.i:42:1: internal compiler error: in change_address_1, at emit-rtl.c:1936 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
[Bug c++/45080] [C++0x] Rejects lambda to function pointer conversion inside function template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45080 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #4 from Jason Merrill 2011-05-25 15:28:57 UTC --- Fixed for 4.6.1.
[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292 --- Comment #8 from Jason Merrill 2011-05-25 15:26:18 UTC --- Author: jason Date: Wed May 25 15:26:14 2011 New Revision: 174207 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174207 Log: PR c++/48292 * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of function parameter pack. (tsubst_pack_expansion): Likewise. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/variadic109.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/pt.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug c++/45418] [C++0x] can't initialize array of non-trivial type with brace-init
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #3 from Jason Merrill 2011-05-25 15:28:30 UTC --- Fixed for 4.6.1.
[Bug c++/48292] [C++0x] "sorry, unimplemented: use of 'type_pack_expansion' in template"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48292 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #9 from Jason Merrill 2011-05-25 15:29:42 UTC --- Fixed for 4.6.1.
[Bug c++/47451] [c++0x] outer inlined namespace vs. inner nested namespace
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47451 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Jason Merrill 2011-05-25 15:35:09 UTC --- A nested namespace of an inline namespace does not map onto a nested namespace of the enclosing namespace; you need to have one chrono namespace and two inline namespaces, rather than one inline namespace and two chrono namespaces.
[Bug c++/47220] [C++0x] no error on unterminated template argument list for variadic parameter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47220 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.05.25 15:37:34 Summary|[C++0x] invalid code using |[C++0x] no error on |template with variable |unterminated template |argument list is accepted |argument list for variadic ||parameter Ever Confirmed|0 |1
[Bug c++/47184] gcc interprets C++0x initialization construct as function declaration
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47184 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.05.25 15:42:06 CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug tree-optimization/49135] ICE in gcc.c-torture/execute/920302-1.c on arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49135 John David Anglin changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.05.25 15:48:02 CC||danglin at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #4 from John David Anglin 2011-05-25 15:48:02 UTC --- Also see the same ICE.
[Bug c++/47014] [C++0x] ICE: tree check: expected tree that contains ‘decl minimal’ structure, have ‘nop_expr’ in decl_linkage, at cp/tree.c:2975
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47014 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jason at gcc dot gnu.org Resolution||FIXED Target Milestone|--- |4.6.1 --- Comment #2 from Jason Merrill 2011-05-25 15:57:26 UTC --- In 4.6.1 gcc will give the error, wa.C:6:21: error: ‘::operator void (*)()() const’ is not ‘constexpr’ wa.C:6:22: error: template argument 1 is invalid wa.C:6:31: error: invalid type in declaration before ‘;’ token This seems like an oversight in C++0x, I'll raise it with the committee.
[Bug c++/46696] [C++0x] Implicit copy constructor can't construct array of subtype with user-defined copy constructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46696 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.05.25 16:03:04 AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug ada/49164] New: GNAT BUG on access procedure parameter in protected type entry
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49164 Summary: GNAT BUG on access procedure parameter in protected type entry Product: gcc Version: 4.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: sou...@stbuehler.de $ gnatmake gnatbug gcc-4.4 -c gnatbug.adb +===GNAT BUG DETECTED==+ | 4.4.6 (x86_64-pc-linux-gnu) Assert_Failure sem_ch3.adb:1063 | | Error detected at gnatbug.adb:3:17 | | Please submit a bug report; see http://gcc.gnu.org/bugs.html.| | Use a subject line meaningful to you and us to track the bug.| | Include the entire contents of this bug box in the report. | | Include the exact gcc-4.4 or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==+ Please include these source files with error report Note that list may not be accurate in some cases, so please double check that the problem can still be reproduced with the set of files listed. gnatbug.adb gnatbug.ads compilation abandoned gnatmake: "gnatbug.adb" compilation error package body Gnatbug is protected body X is entry Foo (Bar : access procedure) when Member = 0 is begin Bar.all; end; end X; end Gnatbug; package Gnatbug is protected type X is entry Foo (Bar : access procedure); private Member : Integer := 0; end X; end Gnatbug;
[Bug inline-asm/49142] Invalid 8bit register operand
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49142 --- Comment #1 from hjl at gcc dot gnu.org 2011-05-25 16:19:40 UTC --- Author: hjl Date: Wed May 25 16:19:36 2011 New Revision: 174211 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174211 Log: Replace q_regs_operand with QIreg_operand in QI ext patterns. 2011-05-25 H.J. Lu PR target/49142 * config/i386/i386.md (*movqi_extv_1_rex64): Remove "register_operand" check and replace q_regs_operand with QIreg_operand in "type" calculation. (*movqi_extv_1): Likewise. (*movqi_extzv_2_rex64): Likewise. (*movqi_extzv_2): Likewise. * config/i386/predicates.md (QIreg_operand): New. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md trunk/gcc/config/i386/predicates.md
[Bug target/49133] [4.6/4.7 Regression] modification of aliased __m128d miscompiles
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49133 --- Comment #9 from uros at gcc dot gnu.org 2011-05-25 16:39:25 UTC --- Author: uros Date: Wed May 25 16:39:22 2011 New Revision: 174215 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174215 Log: PR target/49133 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative. testsuite/ChangeLog: PR target/49133 * g++.dg/other/pr49133.C: New test. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/pr49133.C Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/i386/sse.md branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
[Bug bootstrap/49160] [4.7 Regression] Bootstrap failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49160 --- Comment #3 from Bernd Schmidt 2011-05-25 16:42:26 UTC --- Author: bernds Date: Wed May 25 16:42:23 2011 New Revision: 174216 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174216 Log: PR bootstrap/49160 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2, __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3, __divtc3): Wrap definitions in #ifndef. Modified: trunk/gcc/ChangeLog trunk/gcc/libgcc2.h
[Bug c++/46245] [C++0x] rejects function with late-specified return type as a non-type template parameter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46245 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.05.25 16:49:12 CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug c++/46145] [C++0x] Should defaulted copy constructor imply default move constructor?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46145 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jason at gcc dot gnu.org Resolution||INVALID --- Comment #3 from Jason Merrill 2011-05-25 16:51:13 UTC --- C++0x FDIS 12.8/9: If the definition of a class X does not explicitly declare a move constructor, one will be implicitly declared as defaulted if and only if — X does not have a user-declared copy constructor, — X does not have a user-declared copy assignment operator, — X does not have a user-declared move assignment operator, — X does not have a user-declared destructor, and — the move constructor would not be implicitly defined as deleted. An explicitly defaulted copy constructor is user-declared, so a move constructor is not implicitly declared.
[Bug c++/49153] Compile error with template metafunctions (starting with 4.5.x)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49153 --- Comment #3 from dizzy at roedu dot net 2011-05-25 16:53:52 UTC --- Indeed it seems a problem with the code because of the semantics of the injected class names. Namely that a nested (in MetaBind1st) struct "type" is defined which incidentally inherits a nested typedef "type". The injected class name of the struct ("type") will hide the inherited nested typedef ("type") and thus when trying to locate it with "AppenderTypeList::Function::type" it will find the injected class name of the "type" struct instead of the nested inherited typedef. Sorry for the spam.
[Bug c++/46005] [C++0x] Don't allow "auto" as the simple-type-specifier of a typedef
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46005 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.05.25 17:04:01 CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug c++/45698] C++0x Variadic Templates: Infinite template recursion rather than an error message
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45698 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jason at gcc dot gnu.org Resolution||FIXED Target Milestone|--- |4.5.0 --- Comment #2 from Jason Merrill 2011-05-25 17:16:16 UTC --- Fixed in 4.5.0.
[Bug debug/49047] DW_AT_linkage_name missing for constructors and destructors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49047 --- Comment #3 from Tom Tromey 2011-05-25 18:00:23 UTC --- I tried this patch on a simple example and I think the output looks good.
[Bug c++/49165] New: ICE on for-loop/throw combination
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165 Summary: ICE on for-loop/throw combination Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@portuosus.com Source file /tmp/redux.cc: #include #include int main(int argc,char**argv) { std::string str; for ( int field(0); (field<10) && ((std::cin>>str)?true:(throw std::string("failure"))); field++ ); } produces: /tmp/redux.cc: In function ‘int main(int, char**)’: /tmp/redux.cc:7:3: internal compiler error: in fold_convert_loc, at fold-const.c:2670
[Bug c++/49165] ICE on for-loop/throw combination
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165 --- Comment #1 from Vijay Rao 2011-05-25 18:34:31 UTC --- /tmp/redux.cc #include #include int main(int argc,char**argv) { std::string str; for ( int field(0); (field<10) && ((std::cin>>str)? 1 :(throw std::string("failure"))); field++ ); } g++ /tmp/redux.cc /tmp/redux.cc: In function ‘int main(int, char**)’: /tmp/redux.cc:8:65: error: void value not ignored as it ought to be This bug looks a lot like what I reported some years ago: This: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14083 shows that it should be accepted by the compiler.
[Bug c++/49165] [4.3/4.4/4.5/4.6/4.7 Regression] ICE on for-loop/throw combination
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49165 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.05.25 18:43:15 CC||jakub at gcc dot gnu.org Depends on|14083 | Summary|ICE on for-loop/throw |[4.3/4.4/4.5/4.6/4.7 |combination |Regression] ICE on ||for-loop/throw combination Ever Confirmed|0 |1 --- Comment #2 from Jakub Jelinek 2011-05-25 18:43:15 UTC --- Shorter testcase: int foo (bool x, int y) { if (y < 10 && (x ? true : throw 1)) y++; return y; } ICE started between r112000 and r113000, before that it failed to compile with error: void value not ignored as it ought to be error. The ICE is during gimple_boolify, throw has void_type_node and fold_convert to boolean_type_node ICEs.
[Bug c/38037] false uninitialized warnings when using a pointer as a guard
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38037 --- Comment #5 from Nicola Pero 2011-05-25 18:54:43 UTC --- Author: nicola Date: Wed May 25 18:54:40 2011 New Revision: 174221 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174221 Log: In libobjc/: 2011-05-25 Richard Frith-Macdonald David Ayers PR libobjc/38037 * sendmsg.c: Include objc/hash.h. (get_implementation): New function, mostly with code from get_imp updated to support the new +initialize dispatch table logic. (get_imp): Use get_implementation. (__objc_responds_to): Updated to support the new +initialize dispatch table logic. (class_respondsToSelector): Likewise. (objc_msg_lookup): Use get_implementation. (__objc_init_install_dtable): Removed. (__objc_install_methods_in_dtable): Updated arguments. (__objc_install_dispatch_table_for_class): Renamed to __objc_install_dtable_for_class and updated to support the new +initialize dispatch table logic. (__objc_update_dispatch_table_for_class): Updated to support the new +initialize dispatch table logic. (__objc_forward): Call get_implementation instead of get_imp. (prepared_dtable_table): New. (__objc_prepare_dtable_for_class): New. (__objc_prepared_dtable_for_class): New. (__objc_get_prepared_imp): New. (__objc_install_prepared_dtable_for_class): New. Modified: trunk/libobjc/ChangeLog trunk/libobjc/sendmsg.c