[Bug c++/51563] New: dynamic_cast bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563 Bug #: 51563 Summary: dynamic_cast bug Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: gaussz...@gmail.com The following code snippet: #include iostream using namespace std; struct D1{ virtual void fooD1(){} }; struct D2{ virtual void fooD2(){} }; struct C1: virtual D1{ virtual void fooC1(){} }; struct C2: virtual D1{ virtual void fooC2(){} }; struct C3: virtual D2{ virtual void fooC3(){} }; struct C4: virtual D2{ virtual void fooC4(){} }; // A-pub-C1-vir-D1 // A-pri-C2-vir-D1 // A-pub-C3-vir-D2 // A-pri-C4-vir-D2 struct A: C1, private C2, C3, private C4{ virtual void fooA(){} }; int main(int argc, char** argv){ A* pa = new A; D1* pd1 = dynamic_castD1*(pa); if(pd1) cout success 1\n; elsecout FAIL 1\n; D2* pd2 = dynamic_castD2*(pd1); if(pd2) cout success 2\n; elsecout FAIL 2\n; pd2 = dynamic_castD2*(pa); if(pd2) cout success 3\n; elsecout FAIL 3\n; pd1 = dynamic_castD1*(pd2); if(pd1) cout success 4\n; elsecout FAIL 4\n; return 0; } - Compile it and run: $ g++ test.cpp -o test $ ./test success 1 success 2 success 3 FAIL 4 This is, I believe, a bug. VC++ (on windows) results in: success 1 success 2 success 3 success 4 which I think is correct. The gcc I used is: $ gcc -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper Target: i686-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --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-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu Thread model: posix gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) The operating system is Ubuntu 11.10 (server 64bit). I have also tested this code snippet on Debian-6.0 with GCC-4.4.5 and CentOS-5.4 with GCC-4.1.2, which produces same result.
[Bug debug/47801] guality tests have issues with LTO / -fwhole-program
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47801 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 2011-12-15 09:00:27 UTC --- I think so.
[Bug c++/51549] QList::operator[] crash in 32bit release version on MacOS for gcc 4.2.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51549 sami.lehtonen at digia dot com changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | Severity|normal |critical --- Comment #3 from sami.lehtonen at digia dot com 2011-12-15 09:23:21 UTC --- The case is now moved to Apple's bug database. The new case can be found with id 10585486.
[Bug target/51162] [4.7 Regression] ICE: segfault in dump_gimple_call
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51162 sameerad at gcc dot gnu.org changed: What|Removed |Added CC||sameerad at gcc dot gnu.org --- Comment #2 from sameerad at gcc dot gnu.org 2011-12-15 09:31:10 UTC --- Fixed on trunk. - Sameera D.
[Bug c++/51559] decimal128 operates incorrectly compared to decimal32 and decimal64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51559 Domingo Alvarez mingodad at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #2 from Domingo Alvarez mingodad at gmail dot com 2011-12-15 09:40:35 UTC --- Doing more tests I discovered that the problem is inherent to using floating points to initialize decimal128, doing it step by step with integer initialization gives the expected result. decimal128 d10(10), d1000(1000), d3(3), d99(99), d201(201); d3 /= d10); //d3 = 0.3 d99 /= d1000; //d99 = 0.099 d3 -= d99; //d3 = 0.201 d3 *= d1000; // d3 = 201 now d3 == d201 Sorry by the false bug report.
[Bug lto/48437] [4.6 Regression] LTO crashes with block-local function declarations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48437 --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 09:44:17 UTC --- Author: rguenth Date: Thu Dec 15 09:44:11 2011 New Revision: 182358 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182358 Log: 2012-12-15 Richard Guenther rguent...@suse.de Revert PR lto/48437 * lto-streamer-out.c (tree_is_indexable): Exclude block-local extern declarations. PR lto/48508 PR lto/48437 * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL VAR_DECLs and FUNCTION_DECLs locally. * g++.dg/lto/pr48508-1_0.C: New testcase. * g++.dg/lto/pr48508-1_1.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/lto/pr48508-1_0.C trunk/gcc/testsuite/g++.dg/lto/pr48508-1_1.C Modified: trunk/gcc/ChangeLog trunk/gcc/lto-streamer-out.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-streamer-out.c
[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508 --- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 09:44:17 UTC --- Author: rguenth Date: Thu Dec 15 09:44:11 2011 New Revision: 182358 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182358 Log: 2012-12-15 Richard Guenther rguent...@suse.de Revert PR lto/48437 * lto-streamer-out.c (tree_is_indexable): Exclude block-local extern declarations. PR lto/48508 PR lto/48437 * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL VAR_DECLs and FUNCTION_DECLs locally. * g++.dg/lto/pr48508-1_0.C: New testcase. * g++.dg/lto/pr48508-1_1.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/lto/pr48508-1_0.C trunk/gcc/testsuite/g++.dg/lto/pr48508-1_1.C Modified: trunk/gcc/ChangeLog trunk/gcc/lto-streamer-out.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-streamer-out.c
[Bug libgomp/51298] libgomp team_barrier locking failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51298 --- Comment #5 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 2011-12-15 09:44:46 UTC --- similarly, does this only affect power7, or potentially also other targets such as x86_64 (interlagos?)
[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #17 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 09:49:36 UTC --- Fixed.
[Bug libstdc++/51540] doxygen documentation for partial_sum misleading
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51540 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.3 --- Comment #11 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 09:51:12 UTC --- Fixed for 4.7.0 so far
[Bug libstdc++/51540] doxygen documentation for partial_sum misleading
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51540 --- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 09:50:04 UTC --- Author: redi Date: Thu Dec 15 09:49:59 2011 New Revision: 182359 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182359 Log: PR libstdc++/51540 * include/bits/stl_numeric.h (partial_sum): Adjust doxygen comments. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/stl_numeric.h
[Bug c++/51563] dynamic_cast bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 09:56:29 UTC --- A real C++ compiler based on EDG agrees with GCC.
[Bug c/51562] Expression evaluation with commas seems incorrect in gcc 4.5.2, 4.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 09:57:32 UTC --- (x=1,x)+(x=2,x) is invoking undefined behavior as there is no sequence point inbetween the two assignments to x.
[Bug libstdc++/51365] cannot use final empty class in std::tuple
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365 --- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 10:02:50 UTC --- Author: redi Date: Thu Dec 15 10:02:45 2011 New Revision: 182360 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182360 Log: c-family: PR libstdc++/51365 * c-common.c (RID_IS_FINAL): Add. * c-common.h (RID_IS_FINAL): Add. cp: PR libstdc++/51365 * cp-tree.h (CPTK_IS_FINAL): Add. * parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL. (cp_parser_primary_expression, cp_parser_trait_expr): Likewise. * semantics.c (trait_expr_value, finish_trait_expr): Handle CPTK_IS_FINAL. * cxx-pretty-print.c (pp_cxx_trait_expression): Likewise. testsuite: PR libstdc++/51365 * g++.dg/ext/is_final.C: New. Added: trunk/gcc/testsuite/g++.dg/ext/is_final.C Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/cxx-pretty-print.c trunk/gcc/cp/parser.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug libstdc++/51365] cannot use final empty class in std::tuple
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365 --- Comment #13 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 10:06:19 UTC --- front end changes done, I'll work on the library parts this weekend
[Bug c++/51563] dynamic_cast bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 10:09:46 UTC --- and Clang also agrees with GCC
[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment #16 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 10:10:37 UTC --- It's tedious to look at this without a testcase that triggers on native x86_64. My usual simple crosses do not work with LTO as I need a target assembler and linker. So - someone with access to an affected target please debug this.
[Bug rtl-optimization/47258] Extra instruction generated in 4.5.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47258 --- Comment #7 from Bingfeng Mei bmei at broadcom dot com 2011-12-15 10:18:06 UTC --- Yes, the patch fixes the bug. Thanks.
[Bug c++/51563] dynamic_cast bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563 --- Comment #3 from gausszhch at gmail dot com 2011-12-15 10:21:21 UTC --- What does EDG stand for? Besides, why does dynamic_castD2*(pd1) success but dynamic_castD1*(pd2) fail? Here, D1 and D2 are symmetrical in the hierarchy graph. I think they can be cast to each other according to the ISO/IEC 14882:2003. It is said that dynamic_castT(v) ... if v points (refers) to a public base class sub-object of the most derived object, and the type of the most derived object has a base class, of type T, that is unambiguous and public, the result is a pointer (an lvalue referring) to the T sub-object of the most derived object. (In reply to comment #1) A real C++ compiler based on EDG agrees with GCC.
[Bug debug/51564] New: [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564 Bug #: 51564 Summary: [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: lto Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org typedef long int time_t; void foo(void) {} int main() { foo(); using ::time_t; }
[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011-12-15 Target Milestone|--- |4.7.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 10:26:13 UTC --- With -g -flto.
[Bug c++/51563] dynamic_cast bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51563 --- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-15 10:29:23 UTC --- Edison Design Group
[Bug preprocessor/47857] Pragma once warning when compiling PCH
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47857 Olaf van der Spek olafvdspek at gmail dot com changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #2 from Olaf van der Spek olafvdspek at gmail dot com 2011-12-15 10:41:07 UTC --- (In reply to comment #1) Dup of bug 39029 which shows the warning is just part of the symptom. *** This bug has been marked as a duplicate of bug 39029 *** It's *not* a duplicate. This one is about generating the .gch. The other one is about using the .gch (and not about the warning message).
[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 10:47:14 UTC --- I have a patch.
[Bug libstdc++/51558] Declaration of unspecialized std::hash_Tp::operator()(_Tp) turns compile-time errors into link-time errors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51558 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |ASSIGNED Target Milestone|--- |4.7.0 --- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2011-12-15 10:52:00 UTC --- The static_assert definitely improves the error message. I'm going to prepare a combined patch (testcases in 23_containers/unordered_* have also to be tweaked)
[Bug c++/51565] New: fastcall in array of method pointers: internal compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51565 Bug #: 51565 Summary: fastcall in array of method pointers: internal compiler error Classification: Unclassified Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: a...@kent.ac.uk Created attachment 26099 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26099 Preprocessed source (15 lines) The attached program (presumably illegal) attempts to insert a pointer to a class member function into an array of such pointers. However, the inserted function has the fastcall attribute: this causes an internal compiler error: gcc -v --save-temps -c -Wall bug.cpp Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-suse-linux/4.5/lto-wrapper Target: i586-suse-linux Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.5 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.5 --enable-linux-futex --without-system-libunwind --enable-gold --with-plugin-ld=/usr/bin/gold --with-arch-32=i586 --with-tune=generic --build=i586-suse-linux Thread model: posix gcc version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (SUSE Linux) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-Wall' '-mtune=generic' '-march=i586' /usr/lib/gcc/i586-suse-linux/4.5/cc1plus -E -quiet -v -D_GNU_SOURCE bug.cpp -mtune=generic -march=i586 -Wall -fpch-preprocess -o bug.ii #include ... search starts here: #include ... search starts here: /usr/include/c++/4.5 /usr/include/c++/4.5/i586-suse-linux /usr/include/c++/4.5/backward /usr/local/include /usr/lib/gcc/i586-suse-linux/4.5/include /usr/lib/gcc/i586-suse-linux/4.5/include-fixed /usr/lib/gcc/i586-suse-linux/4.5/../../../../i586-suse-linux/include /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-c' '-Wall' '-mtune=generic' '-march=i586' /usr/lib/gcc/i586-suse-linux/4.5/cc1plus -fpreprocessed bug.ii -quiet -dumpbase bug.cpp -mtune=generic -march=i586 -auxbase bug -Wall -version -o bug.s GNU C++ (SUSE Linux) version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (i586-suse-linux) compiled by GNU C version 4.5.1 20101208 [gcc-4_5-branch revision 167585], GMP version 5.0.1, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=125809 GNU C++ (SUSE Linux) version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (i586-suse-linux) compiled by GNU C version 4.5.1 20101208 [gcc-4_5-branch revision 167585], GMP version 5.0.1, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=125809 Compiler executable checksum: 3bd6bad154f92415c6ab6c213479edc0 bug.cpp: In function ‘int main()’: bug.cpp:9:25: internal compiler error: in process_init_constructor_array, at cp/typeck2.c:1039 Please submit a full bug report, with preprocessed source if appropriate. See http://bugs.opensuse.org/ for instructions.
[Bug debug/51517] [4.5/4.6/4.7 Regression] Wrong debug information for pointers with negative strides.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51517 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 11:05:42 UTC --- Author: jakub Date: Thu Dec 15 11:05:37 2011 New Revision: 182362 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182362 Log: PR debug/51517 * trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span. (gfc_trans_deferred_vars): Instead add its runtime initialization here. * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test !DECL_IGNORED_P instead of !DECL_ARTIFICIAL. Modified: trunk/gcc/ChangeLog trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-decl.c trunk/gcc/tree-ssa-coalesce.c
[Bug debug/51517] [4.5/4.6 Regression] Wrong debug information for pointers with negative strides.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51517 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Summary|[4.5/4.6/4.7 Regression]|[4.5/4.6 Regression] Wrong |Wrong debug information for |debug information for |pointers with negative |pointers with negative |strides.|strides. --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 11:09:09 UTC --- Fixed on the trunk so far.
[Bug target/51050] [AVR, attiny26] ICE: invalid rtl sharing found in the insn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51050 --- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 11:10:37 UTC --- Author: gjl Date: Thu Dec 15 11:10:32 2011 New Revision: 182363 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182363 Log: PR target/51050 * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp. (avr_prologue_setup_frame): Ditto. Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr.c
[Bug target/51050] [AVR, attiny26] ICE: invalid rtl sharing found in the insn
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51050 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 11:11:44 UTC --- Fixed
[Bug rtl-optimization/51447] [4.4/4.5/4.6/4.7 Regression] global register variable definition incorrectly removed as dead code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447 --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 11:32:06 UTC --- Created attachment 26100 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26100 gcc47-pr51447.patch While that fixes the testcase at -O1, at -O2 and above it still fails. Apparently ud_dce pass removes it.
[Bug c++/51473] [c++0x] ICE with auto and friend
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473 --- Comment #4 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 11:44:32 UTC --- A candidate patch for this has been submitted to http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01174.html
[Bug rtl-optimization/51447] [4.4/4.5/4.6/4.7 Regression] global register variable definition incorrectly removed as dead code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447 --- Comment #8 from Paolo Bonzini bonzini at gnu dot org 2011-12-15 12:01:25 UTC --- For ud_dce it's simplest to add/remove fake edges around it. For 4.8 it could be worthwhile to try adding fake edges around all RTL passes (at least those running in cfglayout mode) and see what breaks...
[Bug c++/51545] missing -Wparentheses diagnostic with compound assignment used as condition
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51545 --- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2011-12-15 12:09:21 UTC --- Or perhaps PR50012? Parenthesized expressions get TREE_NO_WARNING set on them.
[Bug tree-optimization/51566] New: ICE: verify_gimple in testsuite/g++.dg/ipa/iinline-3.C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51566 Bug #: 51566 Summary: ICE: verify_gimple in testsuite/g++.dg/ipa/iinline-3.C Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: greta.yo...@arm.com Target: arm-none-eabi $ cc1plus /work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C -O3 -quiet /work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C: In function 'int main(int, char**)': /work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C:55:5: error: statement marked for throw, but doesn't D.4744_64 = String::funcOne (S, 4); /work/local-checkouts/gcc-fsf/gcc/testsuite/g++.dg/ipa/iinline-3.C:55:5: internal compiler error: verify_gimple failed Trace: #0 internal_error (gmsgid=0x1692398 verify_gimple failed) at /work/local-checkouts/gcc-fsf/gcc/diagnostic.c:843 #1 0x00e5b5e0 in verify_gimple_in_cfg (fn=0x77666780) at /work/local-checkouts/gcc-fsf/gcc/tree-cfg.c:4582 #2 0x0106a0f1 in verify_ssa (check_modified_stmt=1 '\001') at /work/local-checkouts/gcc-fsf/gcc/tree-ssa.c:928 #3 0x00d3b219 in execute_function_todo (data=0x22) at /work/local-checkouts/gcc-fsf/gcc/passes.c:1725 #4 0x00d3ac3e in do_per_function (callback=0xd3b0ae execute_function_todo, data=0x22) at /work/local-checkouts/gcc-fsf/gcc/passes.c:1563 #5 0x00d3b311 in execute_todo (flags=34) at /work/local-checkouts/gcc-fsf/gcc/passes.c:1756 #6 0x00d3bc2c in execute_one_pass (pass=0x1c124c0) at /work/local-checkouts/gcc-fsf/gcc/passes.c:2102 #7 0x00d3bd57 in execute_pass_list (pass=0x1c124c0) at /work/local-checkouts/gcc-fsf/gcc/passes.c:2134 #8 0x00d3bd78 in execute_pass_list (pass=0x1c123a0) at /work/local-checkouts/gcc-fsf/gcc/passes.c:2135 #9 0x00d3bd78 in execute_pass_list (pass=0x1c11aa0) at /work/local-checkouts/gcc-fsf/gcc/passes.c:2135 #10 0x00edfcc2 in tree_rest_of_compilation (fndecl=0x7753d600) at /work/local-checkouts/gcc-fsf/gcc/tree-optimize.c:421 #11 0x009b84e5 in cgraph_expand_function (node=0x77542900) at /work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1818 #12 0x009b86b0 in cgraph_expand_all_functions () at /work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1885 #13 0x009b91f1 in cgraph_optimize () at /work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:2198 #14 0x009b6232 in cgraph_finalize_compilation_unit () at /work/local-checkouts/gcc-fsf/gcc/cgraphunit.c:1327 #15 0x00685ca8 in cp_write_global_declarations () at /work/local-checkouts/gcc-fsf/gcc/cp/decl2.c:4050 #16 0x00e2ddee in compile_file () at /work/local-checkouts/gcc-fsf/gcc/toplev.c:573 #17 0x00e2ffea in do_compile () at /work/local-checkouts/gcc-fsf/gcc/toplev.c:1928 #18 0x00e30161 in toplev_main (argc=4, argv=0x7fffe458) at /work/local-checkouts/gcc-fsf/gcc/toplev.c:2004 #19 0x008e8dac in main (argc=4, argv=0x7fffe458) at /work/local-checkouts/gcc-fsf/gcc/main.c:36 Trunk r182338 configured with --target=arm-none-eabi -cpu=cortex-a9 --with-fpu=neon --with-float=softfp.
[Bug libgcj/51498] [4.7 regression] temporary hack to make dejagnu work in libjava
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51498 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 12:41:49 UTC --- Do you have a new enough version of dejagnu? There is no need for any of these variables. libjava.exp has: if ![info exists GCJ_UNDER_TEST] { if [info exists TOOL_EXECUTABLE] { set GCJ_UNDER_TEST $TOOL_EXECUTABLE; } else { if [info exists env(GCJ)] { set GCJ_UNDER_TEST $env(GCJ) } else { set GCJ_UNDER_TEST [find_gcj] } } } and my dejagnu does (in /usr/share/dejagnu/libgloss.exp): proc find_gcj {} { global tool_root_dir if {![is_remote host]} { set file [lookfor_file $tool_root_dir gcj] if { $file == } { set file [lookfor_file $tool_root_dir gcc/gcj] } if { $file != } { set CC $file -B[file dirname $file]/ } else { set CC [transform gcj] } } else { set CC [transform gcj] } return $CC } so it should figure that out automatically. Aren't you e.g. building in source directory (./configure ...)? Otherwise it would be good if you could debug why in your case it isn't finding the right tool_root_dir and gcj in it (debugging printouts in libjava.exp and libgloss.exp).
[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 12:43:52 UTC --- Author: rguenth Date: Thu Dec 15 12:43:48 2011 New Revision: 182367 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182367 Log: 2011-12-15 Richard Guenther rguent...@suse.de PR lto/51564 * tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY, STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag uses documentation. (TREE_ASM_WRITTEN): Update documentation to mention its use on TYPE_DECLs from debug info generation. * tree-streamer-out.c (pack_ts_base_value_fields): Stream TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to all other types. * g++.dg/lto/pr51564-1_0.C: New testcase. Added: trunk/gcc/testsuite/g++.dg/lto/pr51564-1_0.C Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-streamer-out.c trunk/gcc/tree.h
[Bug debug/51564] [4.7 Regression] ICE in force_type_die, at dwarf2out.c:19288
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51564 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 12:44:32 UTC --- Fixed.
[Bug libgcj/51498] [4.7 regression] temporary hack to make dejagnu work in libjava
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51498 --- Comment #7 from gee jojelino at gmail dot com 2011-12-15 13:00:58 UTC --- (In reply to comment #6) so it should figure that out automatically. Aren't you e.g. building in source directory (./configure ...)? Otherwise it would be good if you could debug why in your case it isn't finding the right tool_root_dir and gcj in it (debugging printouts in libjava.exp and libgloss.exp). Using /usr/share/dejagnu/runtest.exp as main test driver INTERPRETER is now yes Verbose level is 1 Login name is Administrator Found /tmp/gcc/i686-pc-mingw32/libjava/testsuite/site.exp Found /tmp/gcc/i686-pc-mingw32/libjava/testsuite/site.exp Using test sources in ../../.././libjava/testsuite Using test binaries in /tmp/gcc/i686-pc-mingw32/libjava/testsuite Tool root directory is /tmp/gcc/i686-pc-mingw32 Using /usr/share/dejagnu to find libraries since i'm doing canadian-cross, it can't find gcj in /tmp/gcc/i686-pc-mingw32/gcc (which libgross.exp assumed).
[Bug c/51562] Expression evaluation with commas seems incorrect in gcc 4.5.2, 4.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562 --- Comment #2 from willus0 at hotmail dot com 2011-12-15 13:16:37 UTC --- (In reply to comment #1) (x=1,x)+(x=2,x) is invoking undefined behavior as there is no sequence point inbetween the two assignments to x. Is the same also true of the second statement, in which case the Numerical Recipes code is simply poorly written?
[Bug c/51360] [4.6/4.7 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 13:27:29 UTC --- Created attachment 26101 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26101 gcc47-pr51360.patch Untested fix.
[Bug preprocessor/47857] Pragma once warning when compiling PCH
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47857 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-12-15 13:38:25 UTC --- If you're going to change the status please check what VERIFIED means (we don't use that status in this bugzilla)
[Bug target/49865] [4.7 Regression] Unnecessary reload causes small bloat
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49865 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 13:39:58 UTC --- Well, that is the bad sequence. Until r171648 instead of two movl 8(%ebp), %eX insns (one before rep stosl, one after) there was just one of those and one movl %eA, %eB register move.
[Bug libgomp/51298] libgomp team_barrier locking failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51298 --- Comment #6 from Alan Modra amodra at gmail dot com 2011-12-15 13:45:20 UTC --- I expect all of the libgomp bugs I recently fixed will affect some other processors, eg. Alpha, IA64, and Sparc in some memory modes. I know PR51376 won't affect x86, and I expect PR51249 will affect all processors. Beyond that, I haven't analyzed which bugs will affect a given processor. BTW, there's a good article here http://www.linuxjournal.com/article/8211 that explains how and why memory accesses are reordered, and the extent that various processors do reordering. The table in that article is why I named Alpha, IA64 and Sparc.
[Bug target/51162] [4.7 Regression] ICE: segfault in dump_gimple_call
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51162 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||jakub at gcc dot gnu.org Resolution||FIXED --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 13:54:57 UTC --- Please don't forget next time to mention the PR in your ChangeLog entry and commit message. http://gcc.gnu.org/viewcvs?root=gccview=revrev=181920
[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159 --- Comment #17 from Uros Bizjak ubizjak at gmail dot com 2011-12-15 14:01:56 UTC --- (In reply to comment #16) It's tedious to look at this without a testcase that triggers on native x86_64. My usual simple crosses do not work with LTO as I need a target assembler and linker. So - someone with access to an affected target please debug this. I have managed to trigger this bug on x86_64-linux-gnu cross to alpha-linux-gnu. Please follow these steps: 1) compile and install binutils for alpha-linux-gnu. 2) configure crosscompiler with: ~/gcc-svn/trunk/configure --target=alpha-linux-gnu --enable-languages=c 3) make (and wait until the compilation crashes) 4) Go into gcc/testsuite/gcc.dg/lto directory 5) ~/gcc-build-alpha/gcc/xgcc -B ~/gcc-build-alpha/gcc -O1 -flto -flto-partition=1to1 -fPIC -c -o c_lto_20090116_0.o 20090116_0.c 6) ~/gcc-build-alpha/gcc/lto1 c_lto_20090116_0.o In file included from :0:0: 20090116_0.c: In function ‘foo’: 20090116_0.c:6:5: internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. lto-wrapper: /home/uros/gcc-build-alpha/gcc/xgcc returned 1 exit status collect2: error: lto-wrapper returned 1 exit status 7) gdb --args ~/gcc-build-alpha/gcc/lto1 c_lto_20090116_0.o (gdb) break fancy_abort Breakpoint 1 at 0xadc540: file /home/uros/gcc-svn/trunk/gcc/diagnostic.c, line 898. (gdb) r Starting program: /home/uros/gcc-build-alpha/gcc/lto1 -O0 c_lto_20090116_0.o warning: no loadable sections found in added symbol-file system-supplied DSO at 0x2aaab000 Reading object files: c_lto_20090116_0.o Reading the callgraph Merging declarations Reading summaries Reading function bodies: foo Performing interprocedural optimizations whole-programAssembling functions: foo Breakpoint 1, fancy_abort (file=0xb92430 /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c, line=242, function=0xb92920 insert_value_copy_on_edge) at /home/uros/gcc-svn/trunk/gcc/diagnostic.c:898 898 { (gdb) bt #0 fancy_abort (file=0xb92430 /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c, line=242, function=0xb92920 insert_value_copy_on_edge) at /home/uros/gcc-svn/trunk/gcc/diagnostic.c:898 #1 0x0081c3ab in insert_value_copy_on_edge (e=value optimized out, g=0xf94080) at /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:242 #2 eliminate_phi (e=value optimized out, g=0xf94080) at /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:705 #3 0x0081c7e2 in expand_phi_nodes (sa=value optimized out) at /home/uros/gcc-svn/trunk/gcc/tree-outof-ssa.c:867 #4 0x004d73f4 in gimple_expand_cfg () at /home/uros/gcc-svn/trunk/gcc/cfgexpand.c:4518 #5 0x00707459 in execute_one_pass (pass=0xeae160) at /home/uros/gcc-svn/trunk/gcc/passes.c:2079 #6 0x007077c5 in execute_pass_list (pass=0xeae160) at /home/uros/gcc-svn/trunk/gcc/passes.c:2134 #7 0x008191c8 in tree_rest_of_compilation (fndecl=0x2e82d800) at /home/uros/gcc-svn/trunk/gcc/tree-optimize.c:421 #8 0x004f51ba in cgraph_expand_function (node=0x2e832000) at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:1818 #9 0x004f8b6b in cgraph_output_in_order () at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:1983 #10 cgraph_optimize () at /home/uros/gcc-svn/trunk/gcc/cgraphunit.c:2193 #11 0x0047f4e9 in lto_main () at /home/uros/gcc-svn/trunk/gcc/lto/lto.c:2931 #12 0x007a99ec in compile_file (argc=3, argv=0x7fffb8e8) at /home/uros/gcc-svn/trunk/gcc/toplev.c:557 #13 do_compile (argc=3, argv=0x7fffb8e8) at /home/uros/gcc-svn/trunk/gcc/toplev.c:1928 #14 toplev_main (argc=3, argv=0x7fffb8e8) at /home/uros/gcc-svn/trunk/gcc/toplev.c:2004 #15 0x003f90c1d994 in __libc_start_main () from /lib64/libc.so.6 #16 0x0045dee9 in _start () I will also attach c_lto_20090116_0.o.
[Bug lto/41159] [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41159 --- Comment #18 from Uros Bizjak ubizjak at gmail dot com 2011-12-15 14:04:56 UTC --- Created attachment 26102 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26102 intermediate object file for alpha-linux-gnu target Attached object fails with lto crosscompiler to alpha-gnu-linux: ~/gcc-build-alpha/gcc/lto1 -O0 c_lto_20090116_0.o Reading object files: c_lto_20090116_0.o Reading the callgraph Merging declarations Reading summaries Reading function bodies: foo Performing interprocedural optimizations whole-programAssembling functions: foo In file included from :0:0: 20090116_0.c: In function ‘foo’: 20090116_0.c:6:5: internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions.
[Bug debug/51567] New: [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567 Bug #: 51567 Summary: [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: lto Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org struct _Deque_iterator { int* _M_cur; void foo() {} }; class _Deque_base { public: typedef _Deque_iterator iterator; iterator _M_impl; }; class deque : public _Deque_base { public: typedef _Deque_base::iterator iterator; }; class OutputContextStack { public: deque m_stack; deque::iterator m_stackPosition; }; int main() { OutputContextStack s; s.m_stackPosition.foo(); }
[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011-12-15 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.7.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 14:16:10 UTC --- Mine.
[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 14:42:19 UTC --- 5007 gcc_assert (child-die_parent == parent 5008 || (child-die_parent 5009 == get_AT_ref (parent, DW_AT_specification))); we have (gdb) call debug_dwarf_die (child) DIE0: DW_TAG_member (0x75b6c2d0) abbrev id: 0 offset: 0 mark: 0 DW_AT_name: _M_cur DW_AT_decl_file: t.ii (1) DW_AT_decl_line: 2 DW_AT_type: die - 0 (0x75b6c320) DW_AT_data_member_location: location descriptor (gdb) call debug_dwarf_die (parent) DIE0: DW_TAG_structure_type (0x75b6c8c0) abbrev id: 0 offset: 0 mark: 0 DW_AT_name: iterator DW_AT_byte_size: 8 DW_AT_decl_file: t.ii (1) DW_AT_decl_line: 1 so somehow it messes up parent, which should be a typedef DIE(?). We generate it through #0 0x0062a089 in gen_struct_or_union_type_die (type=0x75b5fc78, context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18582 #1 0x0062b139 in gen_tagged_type_die (type=0x75b5fc78, context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18810 #2 0x0062ab4f in gen_typedef_die (decl=0x75b682e0, context_die=0x75b6c820) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18719 #3 0x0062ecbd in gen_decl_die (decl=0x75b682e0, origin=0x0, context_die=0x75b6c820) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19523 #4 0x0062ba99 in gen_type_die_with_usage (type=0x75b5fc78, context_die=0x75b6c820, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18873 #5 0x0062bfc8 in gen_type_die (type=0x75b5fc78, context_die=0x75b6c820) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18999 #6 0x0062f032 in gen_decl_die (decl=0x75a45428, origin=0x0, context_die=0x75b6c820) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19574 #7 0x006297dd in gen_member_die (type=0x75b5fb28, context_die=0x75b6c820) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18532 #8 0x0062a484 in gen_struct_or_union_type_die (type=0x75b5fb28, context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18624 #9 0x0062b139 in gen_tagged_type_die (type=0x75b5fb28, context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18810 #10 0x0062be2d in gen_type_die_with_usage (type=0x75b5fb28, context_die=0x75b6c780, usage=DINFO_USAGE_DIR_USE) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18960 #11 0x0062bfc8 in gen_type_die (type=0x75b5fb28, context_die=0x75b6c780) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18999 #12 0x0060960d in modified_type_die (type=0x75b5fb28, is_const_type=0, is_volatile_type=0, context_die=0x75b6c780) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:9835 #13 0x0061f7de in add_type_attribute (object_die=0x75b6c7d0, type=0x75b5fb28, decl_const=0, decl_volatile=0, context_die=0x75b6c780) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:16136 #14 0x0062946d in gen_inheritance_die (binfo=0x75b650c0, access=0x75a2b528, context_die=0x75b6c780) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18464 ... I think it happens because we very likely merge the two types named 'iterator' (_Deque_base::iterator and deque::iterator). Which is because gimple.c:compare_type_names_p simply looks through the TYPE_DECLs to the IDENTIFIER_NODEs. It probably should compare the DECL_CONTEXT of the TYPE_DECLs as well (but if they are a TREE_TYPE that creates new members of the SCC we have to visit ...) Fixing that fixes this bug.
[Bug c/51562] missing -Wsequence-point warning for expression with commas.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51562 Manuel López-Ibáñez manu at gcc dot gnu.org changed: What|Removed |Added Status|RESOLVED|NEW Version|4.5.2 |4.7.0 Keywords||diagnostic Last reconfirmed||2011-12-15 CC||manu at gcc dot gnu.org Resolution|INVALID | Ever Confirmed|0 |1 Summary|Expression evaluation with |missing -Wsequence-point |commas seems incorrect in |warning for expression with |gcc 4.5.2, 4.4.4|commas. --- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org 2011-12-15 14:45:46 UTC --- Not sure why -Wsequence-point is missing this, but it is a bug. Clang 3.1 does not warn either.
[Bug fortran/51075] ICE with deferred-length character pointer component in derived types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51075 --- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:18:40 UTC --- Author: burnus Date: Thu Dec 15 15:18:33 2011 New Revision: 182372 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c
[Bug fortran/49050] ICE with deferred character length derived type component
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49050 --- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:18:39 UTC --- Author: burnus Date: Thu Dec 15 15:18:33 2011 New Revision: 182372 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c
[Bug fortran/51550] ICE in gfc_get_derived_type, at fortran/trans-types.c:2401
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51550 --- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:18:38 UTC --- Author: burnus Date: Thu Dec 15 15:18:33 2011 New Revision: 182372 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c
[Bug fortran/47545] ICE: in gfc_get_derived_type, at fortran/trans-types.c:2145
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47545 --- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:18:38 UTC --- Author: burnus Date: Thu Dec 15 15:18:33 2011 New Revision: 182372 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182372 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c
[Bug fortran/51550] ICE in gfc_get_derived_type, at fortran/trans-types.c:2401
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51550 --- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:25:37 UTC --- Author: burnus Date: Thu Dec 15 15:25:32 2011 New Revision: 182373 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: branches/gcc-4_6-branch/gcc/fortran/ChangeLog branches/gcc-4_6-branch/gcc/fortran/resolve.c
[Bug fortran/51075] ICE with deferred-length character pointer component in derived types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51075 --- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:25:39 UTC --- Author: burnus Date: Thu Dec 15 15:25:32 2011 New Revision: 182373 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: branches/gcc-4_6-branch/gcc/fortran/ChangeLog branches/gcc-4_6-branch/gcc/fortran/resolve.c
[Bug fortran/47545] ICE: in gfc_get_derived_type, at fortran/trans-types.c:2145
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47545 --- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:25:37 UTC --- Author: burnus Date: Thu Dec 15 15:25:32 2011 New Revision: 182373 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: branches/gcc-4_6-branch/gcc/fortran/ChangeLog branches/gcc-4_6-branch/gcc/fortran/resolve.c
[Bug fortran/49050] ICE with deferred character length derived type component
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49050 --- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org 2011-12-15 15:25:39 UTC --- Author: burnus Date: Thu Dec 15 15:25:32 2011 New Revision: 182373 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182373 Log: 2011-12-15 Tobias Burnus bur...@net-b.de PR fortran/51550 PR fortran/47545 PR fortran/49050 PR fortran/51075 * resolve.c (resolve_fl_derived0): Print not-implemented error for deferred-length character components. Modified: branches/gcc-4_6-branch/gcc/fortran/ChangeLog branches/gcc-4_6-branch/gcc/fortran/resolve.c
[Bug c++/51473] [c++0x] ICE with auto and friend
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473 --- Comment #5 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 15:40:31 UTC --- Author: dodji Date: Thu Dec 15 15:40:25 2011 New Revision: 182375 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182375 Log: PR c++/51473 - ICE with invalid auto gcc/cp/ PR c++/51473 * decl.c (check_tag_decl): Error out on auto specifier with no declarator. gcc/testsuite/ PR c++/51473 * g++.dg/cpp0x/auto30.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp0x/auto30.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog
[Bug c++/51473] [c++0x] ICE with auto and friend
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51473 Dodji Seketeli dodji at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Dodji Seketeli dodji at gcc dot gnu.org 2011-12-15 15:41:20 UTC --- This should be fixed in trunk (4.7).
[Bug c/51568] New: Enum value is not extracted properly via a union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568 Bug #: 51568 Summary: Enum value is not extracted properly via a union Classification: Unclassified Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: eug...@hutorny.in.ua Target: ARM Created attachment 26103 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26103 Test example A wrong value is received when a value is assigned via union and read its member. Consider the following data structures: enum en { v0, v1, v2, v3, v4, v5, v6, v7 }; struct rec { unsigned short w; unsigned char c; enum en e; } __attribute__((__packed__)); union un { struct rec r; unsigned v; } __attribute__((__packed__)); void pass(unsigned v) { union un u; u.v = v; printf(r.w=%X r.c=%d r.e=%d\n, u.r.w, u.r.c, u.r.e ); } int main(int argc, char** argv) { union un u; u.r.c = '8'; u.r.e = v2; u.r.w = 0xC5FF; printf(r.w=%X r.c=%d r.e=%d\n, u.r.w, u.r.c, u.r.e ); pass(u.v); return 0; } Sample above compiled with gcc (Debian 4.3.2-1.1) 4.3.2 prints the following: r.w=C5FF r.c=56 r.e=2 r.w=C5FF r.c=56 r.e=34050 When compiled with arm-linux-gnueabi-gcc (Debian 4.3.2-1.1) 4.3.2 prints: r.w=C5FF r.c=56 r.e=2 r.w=C5FF r.c=56 r.e=50434
[Bug fortran/51569] New: documentation on sign intrinsic
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51569 Bug #: 51569 Summary: documentation on sign intrinsic Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: minor Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: pascal...@parois.net The documentation of the sign intrinsic is a bit misleading when the B argument is a signed zero. The explanation in the standard is much more clearer. Currently it says (http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gfortran/SIGN.html#SIGN): If B\ge 0 then the result is ABS(A), else it is -ABS(A). According to the standard -0.0 is greater than zero. Meaning that according to the documentation I would expect: sign(1.0,-0.0) = 1.0 which is not true. I would replace the sentence above by what you can find in the standard: http://j3-fortran.org/doc/2003_Committee_Draft/ISO_IEC_1539-1.pdf in page 361 (pdf page), 345 (printed page number) Case (i): If B 0, the value of the result is |A|. Case (ii): If B 0, the value of the result is -|A|. Case (iii): If B is of type integer and B=0, the value of the result is |A|. Case (iv): If B is of type real and is zero, then (1) If the processor cannot distinguish between positive and negative real zero, the value of the result is |A|. (2) If B is positive real zero, the value of the result is |A|. (3) If B is negative real zero, the value of the result is -|A|.
[Bug debug/51570] New: [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51570 Bug #: 51570 Summary: [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org Target: x86_64-*-* I see the following FAILs with the most recent gdb installed (7.3): FAIL: gcc.dg/guality/pr45003-2.c -O1 line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O1 line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O3 -fomit-frame-pointer line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O3 -fomit-frame-pointer line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O3 -g line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O3 -g line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -Os line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -Os line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 10 a == 0x8078 FAIL: gcc.dg/guality/pr45003-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O1 line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O1 line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O2 line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O2 line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O3 -fomit-frame-pointer line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O3 -fomit-frame-pointer line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O3 -g line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O3 -g line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -Os line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -Os line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none line 19 a == 0x8078 FAIL: gcc.dg/guality/pr45003-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 10 a == -32648 FAIL: gcc.dg/guality/pr45003-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 19 a == 0x8078 they pass for the -m32 multilib though. No other gdb version tested.
[Bug debug/51570] [4.7 Regression] FAIL: gcc.dg/guality/pr45003-[23].c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51570 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug fortran/51569] documentation on sign intrinsic
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51569 --- Comment #1 from Pascal pascal22p at parois dot net 2011-12-15 16:28:11 UTC --- (In reply to comment #0) According to the standard -0.0 is greater than zero. Sorry, I am also confusing things by saying this. please read instead -0.0=0.0 return True
[Bug target/49868] Implement named address space to place/access data in flash memory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868 --- Comment #10 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 16:28:42 UTC --- More dependency: Need RELOCs to represent byte http://sourceware.org/PR13503
[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 16:38:16 UTC --- Author: rguenth Date: Thu Dec 15 16:38:08 2011 New Revision: 182377 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182377 Log: 2011-12-15 Richard Guenther rguent...@suse.de PR lto/51567 * gimple.c (compare_type_names_p): Also compare the TREE_CODE. (iterative_hash_name): Also hash the TREE_CODE. (gimple_types_compatible_p_1): For types with a TYPE_DECL name and a type DECL_CONTEXT recurse to that type. (iterative_hash_gimple_type): Likewise. * g++.dg/lto/pr51567-1_0.C: New testcase. Added: trunk/gcc/testsuite/g++.dg/lto/pr51567-1_0.C Modified: trunk/gcc/ChangeLog trunk/gcc/gimple.c trunk/gcc/testsuite/ChangeLog
[Bug debug/51567] [4.7 Regression] ICE in splice_child_die, at dwarf2out.c:5009 with -flto -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51567 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-12-15 16:38:30 UTC --- Fixed.
[Bug c++/51571] New: No named return value optimization while adding a dummy scope
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51571 Bug #: 51571 Summary: No named return value optimization while adding a dummy scope Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: prasoonsaurav@gmail.com Simple code snippet #include iostream int global; struct A { A(){} A(const Ax){ ++global; } ~A(){} }; A foo() { A a; return a; } int main() { A x = foo(); std::cout global; } Output : 0 When the definition of foo is changed to A foo() { { A a; return a; } } I get 1 as the output i.e copy c-tor gets called once. Compiler is not optimizing the call to the copy c-tor in this case.
[Bug target/50952] libquad relocation R_X86_64_32S failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50952 --- Comment #11 from kargl at gcc dot gnu.org 2011-12-15 16:43:27 UTC --- I think that this was fixed by 2011-11-21 Andreas Tobler andre...@fgznet.ch * libtool.m4: dditional FreeBSD 10 fixes.
[Bug bootstrap/51572] New: [4.7 Regression] LTO bootstrap failed with bootstrap-profiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51572 Bug #: 51572 Summary: [4.7 Regression] LTO bootstrap failed with bootstrap-profiled Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86-64, revision 182367 configured with --prefix=/usr/local --enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld --with-build-config=bootstrap-lto --with-fpmath=sse --enable-languages=c,c++,fortran,java,lto,objc failed to bootstrap-profiled: lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22493 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[7]: *** [/tmp/ccwUcTbd.ltrans29.ltrans.o] Error 1 make[7]: *** Waiting for unfinished jobs lto-wrapper: make returned 2 exit status /usr/local/x86_64-unknown-linux-gnu/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status make[6]: *** [cc1plus] Error 1 Revision 182359 is OK.
[Bug c++/51462] [c++0x] ICE in cx_check_missing_mem_inits
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51462 Dodji Seketeli dodji at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011-12-15 CC||dodji at gcc dot gnu.org AssignedTo|unassigned at gcc dot |dodji at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug c/51568] Enum value is not extracted properly via a union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568 Richard Earnshaw rearnsha at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2011-12-15 17:17:34 UTC --- On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4) to hold the entire value? If you want a packed enum, you need to specify the packed on the element declaration, not just on the overall structure: struct rec { unsigned short w; unsigned char c; enum en e __attribute__((packed)); } __attribute__((packed));
[Bug middle-end/49806] [4.7 Regression] FAIL: gcc.dg/tree-ssa/vrp47.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49806 --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 17:27:50 UTC --- Author: jakub Date: Thu Dec 15 17:27:45 2011 New Revision: 182380 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182380 Log: PR middle-end/49806 * gcc.dg/tree-ssa-vrp47.c: Add -fdump-tree-dom2 to dg-options. Check for x_? y in dom2 dump and xfail the check in dom1 dump. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/vrp47.c
[Bug tree-optimization/51117] [4.7 regression] rev.181172 causes glibc build failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51117 --- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 17:27:11 UTC --- Author: jakub Date: Thu Dec 15 17:27:08 2011 New Revision: 182379 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182379 Log: PR tree-optimization/51117 * g++.dg/opt/pr51117.C: New test. Added: trunk/gcc/testsuite/g++.dg/opt/pr51117.C Modified: trunk/gcc/testsuite/ChangeLog
[Bug c/51568] Enum value is not extracted properly via a union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568 --- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org 2011-12-15 17:27:19 UTC --- (In reply to comment #1) On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4) to hold the entire value? If you want a packed enum, you need to specify the packed on the element declaration, not just on the overall structure: struct rec { unsigned short w; unsigned char c; enum en e __attribute__((packed)); } __attribute__((packed)); Actually that doesn't work. The only ways to pack the enum into 8 bits are to either: 1) Use -fshort-enums (ABI change) 2) Use a bitfield expression in your struct. struct rec { unsigned short w; unsigned char c; enum en e:8; } __attribute__((packed)); Sorry for the confusion.
[Bug c/51360] [4.6/4.7 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 17:29:29 UTC --- Author: jakub Date: Thu Dec 15 17:29:25 2011 New Revision: 182381 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182381 Log: PR c/51360 * c-parser.c (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule): Call mark_exp_read. * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use. * c-c++-common/gomp/pr51360.c: New test. * g++.dg/gomp/pr51360.C: New test. Added: trunk/gcc/testsuite/c-c++-common/gomp/pr51360.c trunk/gcc/testsuite/g++.dg/gomp/pr51360.C Modified: trunk/gcc/ChangeLog trunk/gcc/c-parser.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug lto/51573] New: [4.7 Regression] ICE (segfault) in lto_varpool_encoder_encode_initializer_p
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51573 Bug #: 51573 Summary: [4.7 Regression] ICE (segfault) in lto_varpool_encoder_encode_initializer_p Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: mar...@trippelsdorf.de ICE happened during a Firefox build. % cat test.ii extern C struct JSObject; template class T class HeapPtr { }; struct PendingProxyOperation { JSObject *object; }; struct ThreadData { PendingProxyOperation *pendingProxyOperation; }; struct JSThread { ThreadData data; }; struct JSContext { JSThread *thread_; }; class TypeConstraint { virtual void newObjectState () { } }; class TypeSet { TypeConstraint *constraintList; }; struct Property { TypeSet types; }; struct Cell { Property **propertySet; }; struct JSObject:Cell { }; bool IndexToId () { return 0; bool IndexToIdSlow (JSContext); } % c++ -flto test.ii test.ii: In function ‘IndexToId()’: test.ii:41:1: internal compiler error: Segmentation fault Please submit a full bug report Program received signal SIGSEGV, Segmentation fault. [Switching to process 16149] 0x00b89c40 in lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*) () (gdb) bt #0 0x00b89c40 in lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*) () #1 0x00957790 in lto_output_tree(output_block*, tree_node*, bool) () #2 0x00a1beab in streamer_write_tree_body(output_block*, tree_node*, bool) () #3 0x00957506 in lto_output_tree(output_block*, tree_node*, bool) () ...
[Bug c++/51571] No named return value optimization while adding a dummy scope
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51571 Prasoon prasoonsaurav.nit at gmail dot com changed: What|Removed |Added Severity|normal |critical
[Bug fortran/51310] -finit-bla doesn't initialize *all* items of type bla to the requested constant.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51310 --- Comment #7 from toon at gcc dot gnu.org 2011-12-15 18:26:08 UTC --- Author: toon Date: Thu Dec 15 18:26:02 2011 New Revision: 182384 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182384 Log: 2011-12-15 Toon Moene t...@moene.org PR fortran/51310 * resolve.c (build_default_init_expr): Allow non-allocatable, non-compile-time-constant-shape arrays to have a default initializer. * invoke.texi: Delete the restriction on automatic arrays not Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/invoke.texi trunk/gcc/fortran/resolve.c
[Bug lto/51573] [4.7 Regression] ICE (segfault) in lto_varpool_encoder_encode_initializer_p
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51573 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 2011-12-15 18:35:36 UTC --- Caused by rev182358: c75a2739c2dd84336557e95cf655eceb163fc341 is the first bad commit commit c75a2739c2dd84336557e95cf655eceb163fc341 Author: rguenth rguenth@138bc75d-0d04-0410-961f-82ee72b054a4 Date: Thu Dec 15 09:44:11 2011 + 2012-12-15 Richard Guenther rguent...@suse.de Revert PR lto/48437 * lto-streamer-out.c (tree_is_indexable): Exclude block-local extern declarations. PR lto/48508 PR lto/48437 * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL VAR_DECLs and FUNCTION_DECLs locally. * g++.dg/lto/pr48508-1_0.C: New testcase. * g++.dg/lto/pr48508-1_1.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182358 138bc75d-0d04-0410-961f-82ee72b054a4
[Bug target/49868] Implement named address space to place/access data in flash memory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49868 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Keywords||documentation Priority|P3 |P4
[Bug other/50775] Register allocator sets up frame and frame pointer with low register pressure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50775 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME --- Comment #9 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 19:07:02 UTC --- Code looks much better now. Great! With options $ avr-gcc in.c -c -save-temps -dp -Os -mmcu=avr4 -mstrict-X The code is: func1: push r28 ; 43pushqi1/1[length = 1] push r29 ; 44pushqi1/1[length = 1] /* prologue: function */ /* frame size = 0 */ /* stack size = 2 */ .L__stack_usage = 2 movw r18,r24 ; 2*movhi/1[length = 1] movw r28,r22 ; 3*movhi/1[length = 1] ld r24,Y ; 8movqi_insn/4[length = 1] movw r26,r18 ; 37*movhi/1[length = 1] ld r25,X ; 9movqi_insn/4[length = 1] add r24,r25 ; 10addqi3/1[length = 1] movw r30,r20 ; 38*movhi/1[length = 1] ld r25,Z ; 11movqi_insn/4[length = 1] add r24,r25 ; 12addqi3/1[length = 1] movw r30,r18 ; 39*movhi/1[length = 1] ldd r25,Z+1 ; 13movqi_insn/4[length = 1] add r24,r25 ; 14addqi3/1[length = 1] ldd r25,Y+1 ; 15movqi_insn/4[length = 1] add r24,r25 ; 16addqi3/1[length = 1] movw r30,r20 ; 40*movhi/1[length = 1] ldd r25,Z+1 ; 17movqi_insn/4[length = 1] add r24,r25 ; 18addqi3/1[length = 1] movw r30,r18 ; 41*movhi/1[length = 1] ldd r25,Z+2 ; 19movqi_insn/4[length = 1] add r24,r25 ; 20addqi3/1[length = 1] ldd r25,Y+2 ; 21movqi_insn/4[length = 1] add r24,r25 ; 22addqi3/1[length = 1] movw r30,r20 ; 42*movhi/1[length = 1] ldd r25,Z+2 ; 23movqi_insn/4[length = 1] add r24,r25 ; 29addqi3/1[length = 1] /* epilogue start */ pop r29 ; 47popqi[length = 1] pop r28 ; 48popqi[length = 1] ret ; 49return_from_epilogue[length = 1]
[Bug target/46278] avr-gcc 4.5.1 doing suboptimal reloads using X
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46278 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #7 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-12-15 19:09:19 UTC --- Fixed for 4.7. But there is no general clue if -mstrict-X is better or default -mno-strict-X.
[Bug bootstrap/51572] [4.7 Regression] LTO bootstrap failed with bootstrap-profiled
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51572 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||rguenth at gcc dot gnu.org Target Milestone|--- |4.7.0 --- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 19:11:46 UTC --- It is caused by revision 182367: http://gcc.gnu.org/ml/gcc-cvs/2011-12/msg00505.html
[Bug c/51568] Enum value is not extracted properly via a union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51568 --- Comment #3 from Eugene eugene at hutorny dot in.ua 2011-12-15 19:44:34 UTC --- On linux sizeof (struct rec) is 7, so how do you expect an unsigned (size = 4) to hold the entire value? Agree, that was my mistake. I misexpected the enum to fit one byte.
[Bug c++/51574] New: [4.6] Internal error: Segmentation fault (program cc1plus)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574 Bug #: 51574 Summary: [4.6] Internal error: Segmentation fault (program cc1plus) Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com Gcc 4.4 and 4.6 give me: [hjl@gnu-6 build-i686-linux]$ cat /tmp/x.ii extern char _binary_binary_txt_start[]; extern char _binary_binary_txt_end[]; extern char _binary_binary_txt_size[]; typedef unsigned long uintptr_t; extern C void __assert_fail (__const char *__assertion, __const char *__file, unsigned int __line, __const char *__function) throw () __attribute__ ((__noreturn__)); int main(int, char**) { int size = reinterpret_castuintptr_t(_binary_binary_txt_size); ((size == _binary_binary_txt_end - _binary_binary_txt_start) ? static_castvoid (0) : __assert_fail (size == _binary_binary_txt_end - _binary_binary_txt_start, /export/gnu/import/git/binutils-x32/gold/testsuite/binary_test.cc, 39, __PRETTY_FUNCTION__)); return 0; } [hjl@gnu-6 build-i686-linux]$ /usr/gcc-4.6.3-x32/bin/gcc -S -O2 /tmp/x.ii [hjl@gnu-6 build-i686-linux]$ /usr/gcc-4.6.3-x32/bin/gcc -S -O2 -m32 /tmp/x.ii gcc: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. [hjl@gnu-6 build-i686-linux]$ GCC 4.7 is OK.
[Bug c++/51574] [4.6] Internal error: Segmentation fault (program cc1plus)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574 --- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 20:07:44 UTC --- It is on Linux/ia32 or Linux/x86-64.
[Bug c++/51574] [4.6] Internal error: Segmentation fault (program cc1plus)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51574 --- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-12-15 20:13:55 UTC --- We are running out of stack: #0 0x00d72a35 in rtx_equal_p (x=) at ../../src/gcc/rtl.c:500 #1 0x00dbeaea in simplify_binary_operation_1 (code=MINUS, mode=SImode, op0=0x71473fe0, op1=0x71473fc0, trueop0=0x71473fe0, trueop1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:2124 #2 0x00dbdd6c in simplify_binary_operation (code=MINUS, mode=SImode, op0=0x71473fe0, op1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:1909 #3 0x00dc6525 in simplify_plus_minus (code=MINUS, mode=SImode, op0=0x70ea6c60, op1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:4061 #4 0x00dbf9d9 in simplify_binary_operation_1 (code=MINUS, mode=SImode, op0=0x70ea6c60, op1=0x71473fc0, trueop0=0x70ea6c60, trueop1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:2307 #5 0x00dbdd6c in simplify_binary_operation (code=MINUS, mode=SImode, op0=0x70ea6c60, op1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:1909 #6 0x00dc7845 in simplify_const_relational_operation (code=EQ, mode=SImode, op0=0x70ea6c60, op1=0x71473fc0) at ../../src/gcc/simplify-rtx.c:4556 #7 0x00dc6ace in simplify_relational_operation (code=EQ, mode=VOIDmode, cmp_mode=SImode, op0=0x71473fc0, op1=0x70ea6c60)
[Bug c++/51549] QList::operator[] crash in 32bit release version on MacOS for gcc 4.2.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51549 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2011-12-15 20:35:11 UTC --- The bug is still invalid here as we don't support the compiler that Apple provides, only the one which is located on gcc.gnu.org.
[Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 20:46:01 UTC --- Author: jakub Date: Thu Dec 15 20:45:53 2011 New Revision: 182387 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=182387 Log: PR c++/51463 * decl.c (grokdeclarator): Set DECL_INITIAL of decl to error_mark_node to disallow NSDMI if declspecs-storage_class is sc_static. * parser.c (cp_parser_late_parse_one_default_arg): Return early if default_arg is error_mark_node. * g++.dg/cpp0x/pr51463.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp0x/pr51463.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/parser.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/49806] [4.7 Regression] FAIL: gcc.dg/tree-ssa/vrp47.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49806 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||jakub at gcc dot gnu.org Resolution||FIXED --- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 20:49:20 UTC --- Testcase no longer fails.
[Bug c/51360] [4.6 Regression] spurious unused-but-set-variable warning for var used in OpenMP pragma
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51360 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Summary|[4.6/4.7 Regression]|[4.6 Regression] spurious |spurious|unused-but-set-variable |unused-but-set-variable |warning for var used in |warning for var used in |OpenMP pragma |OpenMP pragma | --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 20:51:03 UTC --- Fixed on the trunk so far.
[Bug rtl-optimization/50101] [4.5/4.6 regression] GCC 4.5 and 4.6 generate suboptimal code on ppc for countdown loops when the CTR register cannot be used
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50101 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Keywords||missed-optimization Target Milestone|--- |4.5.4 Summary|GCC 4.5 and 4.6 generate|[4.5/4.6 regression] GCC |suboptimal code on ppc for |4.5 and 4.6 generate |countdown loops when the|suboptimal code on ppc for |CTR register cannot be used |countdown loops when the ||CTR register cannot be used
[Bug c++/51463] [c++0x] [4.7 Regression] ICE declaring a member function virtual and static
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51463 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-12-15 20:52:15 UTC --- Fixed.
[Bug rtl-optimization/49847] [4.6/4.7 Regression] m68k gcj-4.6 NULL deref in fold_rtx (prev_insn_cc0 == NULL)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-valid-code Component|java|rtl-optimization Known to work||4.4.0 Target Milestone|--- |4.6.3 Summary|m68k gcj-4.6 NULL deref in |[4.6/4.7 Regression] m68k |fold_rtx (prev_insn_cc0 == |gcj-4.6 NULL deref in |NULL) |fold_rtx (prev_insn_cc0 == ||NULL) Known to fail||4.6.1
[Bug middle-end/51575] New: [4.7 Regression] ICE: verify_gimple failed: statement marked for throw, but doesn't with -fnon-call-exceptions and placement new
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51575 Bug #: 51575 Summary: [4.7 Regression] ICE: verify_gimple failed: statement marked for throw, but doesn't with -fnon-call-exceptions and placement new Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 26104 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26104 reduced testcase Compiler output: $ gcc -O -fnon-call-exceptions testcase.C testcase.C: In function 'void foo()': testcase.C:13:6: error: statement marked for throw, but doesn't # .MEM_15 = VDEF .MEM_1(D) MEM[(double *)s].a[0] = 0.0; testcase.C:13:6: internal compiler error: verify_gimple failed Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. (gdb) bt #0 internal_error (gmsgid=0x1452cc3 verify_gimple failed) at /mnt/svn/gcc-trunk/gcc/diagnostic.c:839 #1 0x00b9bcd7 in verify_gimple_in_cfg (fn=0x7570b500) at /mnt/svn/gcc-trunk/gcc/tree-cfg.c:4582 #2 0x00ce36e6 in verify_ssa (check_modified_stmt=true) at /mnt/svn/gcc-trunk/gcc/tree-ssa.c:928 #3 0x00a84cbc in execute_function_todo (data=Unhandled dwarf expression opcode 0xf3 ) at /mnt/svn/gcc-trunk/gcc/passes.c:1725 #4 0x00a8563e in execute_todo (flags=2) at /mnt/svn/gcc-trunk/gcc/passes.c:1756 #5 0x00a888ea in execute_one_pass (pass=0x19905e0) at /mnt/svn/gcc-trunk/gcc/passes.c:2102 #6 0x00a88c15 in execute_pass_list (pass=0x19905e0) at /mnt/svn/gcc-trunk/gcc/passes.c:2134 #7 0x00a88c27 in execute_pass_list (pass=0x1990a60) at /mnt/svn/gcc-trunk/gcc/passes.c:2135 #8 0x00a88c27 in execute_pass_list (pass=0x198fce0) at /mnt/svn/gcc-trunk/gcc/passes.c:2135 #9 0x00bea6de in tree_rest_of_compilation (fndecl=0x75705e00) at /mnt/svn/gcc-trunk/gcc/tree-optimize.c:421 #10 0x0083d7da in cgraph_expand_function (node=0x756fcd80) at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1818 #11 0x0083f57c in cgraph_expand_all_functions () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1885 #12 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2198 #13 0x0083fcea in cgraph_finalize_compilation_unit () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1327 #14 0x006602eb in cp_write_global_declarations () at /mnt/svn/gcc-trunk/gcc/cp/decl2.c:4050 #15 0x00b7da44 in compile_file (argc=15, argv=0x7fffdac8) at /mnt/svn/gcc-trunk/gcc/toplev.c:573 #16 do_compile (argc=15, argv=0x7fffdac8) at /mnt/svn/gcc-trunk/gcc/toplev.c:1928 #17 toplev_main (argc=15, argv=0x7fffdac8) at /mnt/svn/gcc-trunk/gcc/toplev.c:2004 #18 0x761570ed in __libc_start_main () from /lib64/libc.so.6 #19 0x005842e1 in _start () Tested revisions: r182355 - crash r182344 - crash r182321 - OK
[Bug fortran/45030] -fwhole-file: Bogus error message with ENTRY and different result types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45030 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011-12-15 Ever Confirmed|0 |1 --- Comment #5 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-12-15 21:37:01 UTC --- AFAICT the issues raised in comment #1 is fixed at least on 4.6.2 and trunk. Tobias could you please confirm it?
[Bug c++/51458] [4.7 Regression] Accepts invalid designated initializers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51458 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-12-15 21:56:00 UTC --- Fixed.