[Bug c++/48748] New: Undocumented type traits used in libstdc++-4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748 Summary: Undocumented type traits used in libstdc++-4.6 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: documentation Severity: minor Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jyass...@gcc.gnu.org At least __is_standard_layout(), __is_literal_type(), and __is_trivial() are used in the libstdc++-4.6 implementation, but they're not documented on http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Type-Traits.html. They should be added to the documentation.
[Bug c++/48749] New: internal compiler error: tree check: expected field_decl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749 Summary: internal compiler error: tree check: expected field_decl Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org Created attachment 24088 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24088 source code demonstrating bug Compile the attached code with g++, and: $ g++-snapshot -c ,barf.i.cc ,barf.i.cc: In member function 'virtual T CylinderMapTexT::eval(const TexCoords) const': ,barf.i.cc:46:16: internal compiler error: tree check: expected field_decl, have identifier_node in fixed_type_or_null, at cp/class.c:5885 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions. $ g++-snapshot --version g++ (Debian 20110419-1) 4.7.0 20110419 (experimental) [trunk revision 172699] Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Thanks, -miles
[Bug c++/48748] Undocumented type traits used in libstdc++-4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.04.24 09:20:55 AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot |gnu.org |com Target Milestone|--- |4.6.1 Ever Confirmed|0 |1 --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 09:20:55 UTC --- On it.
[Bug other/48748] Undocumented type traits used in libstdc++-4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748 --- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2011-04-24 09:42:19 UTC --- Author: paolo Date: Sun Apr 24 09:42:16 2011 New Revision: 172911 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172911 Log: 2011-04-24 Paolo Carlini paolo.carl...@oracle.com PR other/48748 * doc/extend.texi (Type Traits): Document __is_standard_layout, __is_literal_type, and __is_trivial; update throughout about possibly cv-qualified void types. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug other/48748] Undocumented type traits used in libstdc++-4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748 --- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2011-04-24 09:43:32 UTC --- Author: paolo Date: Sun Apr 24 09:43:29 2011 New Revision: 172912 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172912 Log: 2011-04-24 Paolo Carlini paolo.carl...@oracle.com PR other/48748 * doc/extend.texi (Type Traits): Document __is_standard_layout, __is_literal_type, and __is_trivial; update throughout about possibly cv-qualified void types. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/doc/extend.texi
[Bug other/48748] Undocumented type traits used in libstdc++-4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48748 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 09:43:59 UTC --- Done.
[Bug libstdc++/48750] New: for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Summary: for_each_template_random_access_ed has unbalanced new/delete[] Product: gcc Version: 4.4.4 Status: UNCONFIRMED Severity: major Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: b...@sehe.nl thread_results is allocated using scalar new, yet deleted with array delete[] Version of libs (ubuntu package): libstdc++6-4.4-dev through libstdc++6-4.6-dev Version of compiler: g++ (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 Also with: g++ (Debian 4.5.2-8) 4.5.2 Snippets: /usr/include/c++/4.4/parallel/par_loop.h:87 # pragma omp single { num_threads = omp_get_num_threads(); thread_results = static_castResult*( ::operator new(num_threads * sizeof(Result))); constructed = new bool[num_threads]; } but line 127: delete[] thread_results; This is unbalanced, and leads to the expected valgrind errors. Attached is a snippet (originally from http://stackoverflow.com/questions/5769908/unexpected-segfault-with-gnu-parallelaccumulate) that will segfault. I witnessed the segfault went away when fixing the `delete[]` into `delete`. However, I think it should be evaluated whether the optimized (uninitializing) allocation of thread_results is safe to do (valgrind keeps reporting uninitialized memory references even if the attached example doesn't segfault anymore). I'll attach the sources in 10 minutes due to time restriction and browser flakiness
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 --- Comment #1 from Seth Heeren bugs at sehe dot nl 2011-04-24 11:51:17 UTC --- Created attachment 24089 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24089 minimal example Compiled with g++ -g -O0 -fopenmp minimal.cpp -o minimal -save-temps
[Bug c++/48751] New: Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751 Summary: Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127 Product: gcc Version: 4.4.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: t.h.shorr...@gmail.com __gnu_parallel::accumulate gives a segfault when accumulating over 1000 elements (but not 999). This was originally asked as a question on StackOverflow - http://stackoverflow.com/questions/5769908/unexpected-segfault-with-gnu-parallelaccumulate: Sehe diagnosed the problem as a bug in c++/4.4/parallel/par_loop.h:87 # pragma omp single { num_threads = omp_get_num_threads(); thread_results = static_castResult*( ::operator new(num_threads * sizeof(Result))); constructed = new bool[num_threads]; } But line 127 deletes it with delete[] thread_results; _Apparently, the construction of thread_results was optimized at one stage, but the deletion statement was never updated to reflect this. The optimization makes sense over just newing up the array (new Result[num_threads]) because it avoids constructing the elements._ Fixing that to delete thread_results; removes the bug. You will want to report this to the gnu devs. SYSTEM Ubuntu 10-10 on AMD64 dual core. TO RECREATE: #include vector #include parallel/algorithm #include parallel/numeric class NaturalParameters { public: NaturalParameters() : m_data(2) //defualt constructor { } std::vectordouble::const_iterator begin() const { return m_data.begin(); } std::vectordouble::const_iterator end() const { return m_data.begin(); } NaturalParameters operator+=(const NaturalParameters other) { //do something - well actually ... nothing for the purposes of this bug report. return *this; } private: std::vectordouble m_data; }; inline NaturalParameters operator+(const NaturalParameters a, const NaturalParameters b) { NaturalParameters tmp = a; return tmp+=b; } int main (int ac, char **av) { //This one succeeds for(size_t i=0;i1000;++i){ std::vectorNaturalParameters ChildrenNP(999); NaturalParameters init; NaturalParameters NP = __gnu_parallel::accumulate(ChildrenNP.begin(), ChildrenNP.end(), init ); } //This one fails with a segfault for(size_t i=0;i1000;++i){ std::vectorNaturalParameters ChildrenNP(1000); NaturalParameters init; NaturalParameters NP = __gnu_parallel::accumulate(ChildrenNP.begin(), ChildrenNP.end(), init ); } } Preprocessed file attached COMMAND: g++ -v gnu_parallel_bug.cpp -g -fopenmp -Wall -D_GLIBCXX_PARALLEL -save-temps Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.4-14ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) COLLECT_GCC_OPTIONS='-v' '-g' '-fopenmp' '-Wall' '-D_GLIBCXX_PARALLEL' '-save-temps' '-shared-libgcc' '-mtune=generic' '-pthread' /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1plus -E -quiet -v -D_GNU_SOURCE -D_REENTRANT -D_GLIBCXX_PARALLEL gnu_parallel_bug.cpp -D_FORTIFY_SOURCE=2 -mtune=generic -Wall -fopenmp -g -fworking-directory -fpch-preprocess -fstack-protector -o gnu_parallel_bug.ii ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../x86_64-linux-gnu/include ignoring nonexistent directory /usr/include/x86_64-linux-gnu #include ... search starts here: #include ... search starts here: /usr/include/c++/4.4 /usr/include/c++/4.4/x86_64-linux-gnu /usr/include/c++/4.4/backward /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include /usr/lib/gcc/x86_64-linux-gnu/4.4.5/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-g' '-fopenmp' '-Wall' '-D_GLIBCXX_PARALLEL' '-save-temps' '-shared-libgcc' '-mtune=generic' '-pthread' /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1plus -fpreprocessed gnu_parallel_bug.ii -quiet -dumpbase gnu_parallel_bug.cpp -mtune=generic -auxbase gnu_parallel_bug -g -Wall -version -fopenmp -fstack-protector -o gnu_parallel_bug.s GNU C++ (Ubuntu/Linaro 4.4.4-14ubuntu5) version 4.4.5 (x86_64-linux-gnu) compiled by GNU C version 4.4.5,
[Bug c++/48751] Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751 --- Comment #1 from Tom t.h.shorrock at gmail dot com 2011-04-24 12:05:10 UTC --- Sehe - who found the bug in response to my question submitted the bug report too, its here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 This is a repetition of this report.
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 12:11:29 UTC --- This has been fixed a lot of time ago: 4_5-branch, 4_6-branch and mainline are all fine.
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|RESOLVED|REOPENED Last reconfirmed||2011.04.24 12:16:35 Resolution|WORKSFORME | Ever Confirmed|0 |1 --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 12:16:35 UTC --- Never mind, now I see.
[Bug c++/48751] Incorrect delete[] in c++/4.4/parallel/par_loop.h line 127
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48751 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 12:21:32 UTC --- ok *** This bug has been marked as a duplicate of bug 48750 ***
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||t.h.shorrock at gmail dot ||com --- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 12:21:32 UTC --- *** Bug 48751 has been marked as a duplicate of this bug. ***
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||singler at kit dot edu --- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 12:26:17 UTC --- Let's add Johannes in CC. Indeed, something is fishy here and yes I agree the correct fix doesn't seem just using ::operator delete(__thread_results);
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 --- Comment #6 from Seth Heeren bugs at sehe dot nl 2011-04-24 12:54:15 UTC --- That _is quick response. Thank you. I'll keep an eye on this one
[Bug c++/48749] [4.7 Regression] internal compiler error: tree check: expected field_decl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Summary|internal compiler error:|[4.7 Regression] internal |tree check: expected|compiler error: tree check: |field_decl |expected field_decl --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 13:18:04 UTC --- Looks like a regression in mainline.
[Bug c++/48749] [4.7 Regression] internal compiler error: tree check: expected field_decl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.04.24 13:18:23 Ever Confirmed|0 |1
[Bug middle-end/48752] New: [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 Summary: [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: dang...@gcc.gnu.org Host: hppa2.0w-hp-hpux11.11 Target: hppa2.0w-hp-hpux11.11 Build: hppa2.0w-hp-hpux11.11 /test/gnu/gcc/objdir/./gcc/xgcc -shared-libgcc -B/test/gnu/gcc/objdir/./gcc -nos tdinc++ -L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src -L/test/gn u/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/.libs -B/opt/gnu/gcc/gcc-4.7 /hppa2.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-4.7/hppa2.0w-hp-hpux11.11/lib/ -i system /opt/gnu/gcc/gcc-4.7/hppa2.0w-hp-hpux11.11/include -isystem /opt/gnu/gcc/ gcc-4.7/hppa2.0w-hp-hpux11.11/sys-include-x c++-header -nostdinc++ -g -O2 -I /test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux 11.11 -I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include -I/test/ gnu/gcc/gcc/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /test/gnu/gcc/gcc/libstdc ++-v3/include/precompiled/stdc++.h \ -o hppa2.0w-hp-hpux11.11/bits/stdc++.h.gch/O2ggnu++0x.gch In file included from /test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/in clude/unordered_set:46:0, from /test/gnu/gcc/gcc/libstdc++-v3/include/precompiled/stdc++. h:115: /test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/bits/unordered_s et.h:398:1: internal compiler error: vector VEC(tree,base) index domain error, i n evaulate_conditions_for_edge at ipa-inline-analysis.c:466 -bash-3.2$ ./xgcc -B./ -v Reading specs from ./specs COLLECT_GCC=./xgcc COLLECT_LTO_WRAPPER=./lto-wrapper Target: hppa2.0w-hp-hpux11.11 Configured with: ../gcc/configure --with-gnu-as --with-as=/opt/gnu/bin/as --enable-shared --with-local-prefix=/opt/gnu --prefix=/opt/gnu/gcc/gcc-4.7 --with-gmp=/opt/gnu/gcc/gcc-4.7 --enable-threads=posix --enable-debug=no --disable-nls --without-cloog --without-ppl --enable-languages=c,c++,objc,fortran,java,ada,obj-c++ Thread model: posix gcc version 4.7.0 20110424 (experimental) [trunk revision 172909] (GCC) Revision 172860 was ok.
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #1 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 13:49:30 UTC --- Attached .ii file. Dave
[Bug target/48288] [4.7 Regression] ld: Unsatisfied symbol __iordi3 in file /test/gnu/gcc/objdir/./gcc/libgcc_eh.a
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48288 --- Comment #8 from John David Anglin danglin at gcc dot gnu.org 2011-04-24 13:56:16 UTC --- Author: danglin Date: Sun Apr 24 13:56:13 2011 New Revision: 172917 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172917 Log: PR target/48288 * config/pa/predicates.md (ior_operand): Delete predicate. (cint_ior_operand, reg_or_cint_ior_operand): New predicates. * config/pa/pa.md (iordi3): Use reg_or_cint_ior_operand predicate in expander. Use cint_ior_operand in unnamed insn. (iorsi3): Likewise. * config/pa/pa-protos.h (ior_operand): Delete declarations. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/pa/pa-protos.h branches/gcc-4_4-branch/gcc/config/pa/pa.md branches/gcc-4_4-branch/gcc/config/pa/predicates.md
[Bug middle-end/48753] New: [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48753 Summary: [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86, revision 172872 gave FAIL: gcc.dg/tree-prof/val-prof-2.c scan-tree-dump optimized n_[0-9]* \+ 0x Revision 172869 is OK.
[Bug middle-end/48753] [4.7 Regression] FAIL: gcc.dg/tree-prof/val-prof-2.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48753 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-04-24 15:10:43 UTC --- It is caused by revision 172871: http://gcc.gnu.org/ml/gcc-cvs/2011-04/msg01067.html
[Bug target/48754] New: FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times optimized bb[^]* *
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48754 Summary: FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times optimized bb[^]* * Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: domi...@lps.ens.fr Target: powerpc*-*-* gcc.dg/binop-xor(1|3).c is failing on powerpc: FAIL: gcc.dg/binop-xor1.c scan-tree-dump-times optimized bb[^]* 5 FAIL: gcc.dg/binop-xor1.c scan-tree-dump-times optimized \\^ 1 FAIL: gcc.dg/binop-xor3.c scan-tree-dump-times optimized bb[^]* 1 FAIL: gcc.dg/binop-xor3.c scan-tree-dump-times optimized \\^ 1 (see http://gcc.gnu.org/ml/gcc-testresults/2011-04/msg02081.html and http://gcc.gnu.org/ml/gcc-testresults/2011-04/msg01980.html ). The optimized dump is ;; Function foo (foo) foo (int a, int b, int c) { _Bool D.2857; int D.2843; bb 2: if (a_2(D) != 0) goto bb 3; else goto bb 4; bb 3: if (b_3(D) == 0) goto bb 5; else goto bb 6; bb 4: Invalid sum of incoming frequencies 5000, should be 3750 if (b_3(D) != 0) goto bb 5; else goto bb 6; bb 5: D.2857_11 = c_4(D) != 0; D.2843_9 = (int) D.2857_11; bb 6: Invalid sum of incoming frequencies 8750, should be 1 # D.2843_1 = PHI D.2843_9(5), 0(4), 0(3) return D.2843_1; } instead of ;; Function foo (foo) foo (int a, int b, int c) { _Bool D.2734; _Bool D.2726; _Bool D.2725; _Bool D.2724; int D.2720; bb 2: D.2724_3 = a_2(D) != 0; D.2725_5 = b_4(D) != 0; D.2726_6 = D.2725_5 ^ D.2724_3; if (D.2726_6 != 0) goto bb 3; else goto bb 4; bb 3: D.2734_12 = c_7(D) != 0; D.2720_13 = (int) D.2734_12; bb 4: # D.2720_1 = PHI D.2720_13(3), 0(2) return D.2720_1; } on x86_64-apple-darwin10.
[Bug target/48754] FAIL: gcc.dg/binop-xor(1|3).c scan-tree-dump-times optimized bb[^]* *
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48754 Dominique d'Humieres dominiq at lps dot ens.fr changed: What|Removed |Added CC||ktietz at gcc dot gnu.org --- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-04-24 15:34:43 UTC --- CC Kai Tietz.
[Bug other/48747] Darwin/MacOSX 10.5 fixincludes make check = complex.h missing
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48747 --- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-04-24 15:38:24 UTC --- Works for me on powerpc-apple-darwin9 bootstrapped with gcc version 4.2.1 (Apple Inc. build 5577) ... Fixed: complex.h ... All fixinclude tests pass Configured with configure flags: --prefix=/opt/gcc/gcc4.7w --target=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 --build=powerpc-apple-darwin9 --enable-languages=c,c++,fortran,objc,obj-c++,java,lto --with-gmp=/sw --with-libiconv-prefix=/usr --with-system-zlib --with-cloog=/sw --enable-lto
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 18:27:20 UTC --- evaulate?!?
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #3 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 19:13:22 UTC --- --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 18:27:20 UTC --- evaulate?!? I believe it must be Czech... Dave
[Bug c++/48755] New: ICE in instantiate_type: conditional expression of std::complex .real and .imag
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755 Summary: ICE in instantiate_type: conditional expression of std::complex .real and .imag Product: gcc Version: 4.2.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jth...@astro.indiana.edu Created attachment 24091 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24091 preprocessed source code (gzipped) ICE on invalid code: % cat complex-conditional-real-imag-nofn.cc #include complex double foo(const std::complexdouble z, const bool real_flag) { return real_flag ? z.real : z.imag; } % Note the missing () after real imag. Attempting to compile this with gcc 4.2.4 produces an ICE: complex-conditional-real-imag-nofn.cc: In function 'double foo(std::complexdouble, bool)': complex-conditional-real-imag-nofn.cc:5: internal compiler error: in instantiate_type, at cp/class.c:6163 Here are the full details of the gcc -v output, the command line used for compilation, and the resulting output (including the above error msg): Script started on Sun Apr 24 13:35:42 2011 % /usr/local/bin/eg++ -v Using built-in specs. Target: i386-unknown-openbsd4.8 Configured with: /usr/obj/i386/gcc-4.2.4/gcc-4.2.4/configure --with-gmp=/usr/local --enable-libgcj --verbose --progra m-transform-name=s,^,e, --disable-nls --disable-checking --with-system-zlib --disable-libmudflap --disable-libgomp -- disable-tls --with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gnu-ld --with-gnu-as --enable-threads=posix --enable-w char_t --enable-languages=c,c++,fortran,objc,java,ada --enable-cpp --with-gnu-as --with-gnu-ld --enable-shared --pref ix=/usr/local --sysconfdir=/etc --mandir=/usr/local/man --infodir=/usr/local/info Thread model: posix gcc version 4.2.4 % /usr/local/bin/eg++ -v -save-temps -c complex-conditional-real-imag-nofn.cc Using built-in specs. Target: i386-unknown-openbsd4.8 Configured with: /usr/obj/i386/gcc-4.2.4/gcc-4.2.4/configure --with-gmp=/usr/local --enable-libgcj --verbose --progra m-transform-name=s,^,e, --disable-nls --disable-checking --with-system-zlib --disable-libmudflap --disable-libgomp -- disable-tls --with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gnu-ld --with-gnu-as --enable-threads=posix --enable-w char_t --enable-languages=c,c++,fortran,objc,java,ada --enable-cpp --with-gnu-as --with-gnu-ld --enable-shared --pref ix=/usr/local --sysconfdir=/etc --mandir=/usr/local/man --infodir=/usr/local/info Thread model: posix gcc version 4.2.4 /usr/local/libexec/gcc/i386-unknown-openbsd4.8/4.2.4/cc1plus -E -quiet -v complex-conditional-real-imag-nofn.cc -mtu ne=i386 -fpch-preprocess -o complex-conditional-real-imag-nofn.ii ignoring nonexistent directory /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../i386-unknown-openbsd4.8/ include #include ... search starts here: #include ... search starts here: /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4 /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4/i386-unknown-openbsd4.8 /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/../../../../include/c++/4.2.4/backward /usr/local/include /usr/local/lib/gcc/i386-unknown-openbsd4.8/4.2.4/include /usr/include End of search list. /usr/local/libexec/gcc/i386-unknown-openbsd4.8/4.2.4/cc1plus -fpreprocessed complex-conditional-real-imag-nofn.ii -q uiet -dumpbase complex-conditional-real-imag-nofn.cc -mtune=i386 -auxbase complex-conditional-real-imag-nofn -version -o complex-conditional-real-imag-nofn.s GNU C++ version 4.2.4 (i386-unknown-openbsd4.8) compiled by GNU C version 4.2.4. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 6dfb71ffb2dea5673cd2557319059568 complex-conditional-real-imag-nofn.cc: In function 'double foo(std::complexdouble, bool)': complex-conditional-real-imag-nofn.cc:5: internal compiler error: in instantiate_type, at cp/class.c:6163 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. % exit Script done on Sun Apr 24 13:36:04 2011
[Bug c++/48755] ICE in instantiate_type: conditional expression of std::complex .real and .imag
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Known to work||4.5.0, 4.6.0, 4.7.0 Resolution||WORKSFORME --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 19:29:48 UTC --- Works on active release branches.
[Bug c++/48755] ICE in instantiate_type: conditional expression of std::complex .real and .imag
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48755 --- Comment #2 from Jonathan Thornburg jthorn at astro dot indiana.edu 2011-04-24 19:29:59 UTC --- Created attachment 24092 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24092 script(1) transcript giving gcc -v output, full command line to invoke gcc, full compiler output Here is the gcc -v output, compiler-invocation command line, and compiler output in a separate file -- this avoids the line-wrapping of pasting it into a comments box.
Re: [Bug middle-end/48752] New: [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
Hi, I've comitted patch for bug with similar symptoms today. Does it still reproduce for you? Honza
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #4 from Jan Hubicka hubicka at ucw dot cz 2011-04-24 19:43:44 UTC --- Hi, I've comitted patch for bug with similar symptoms today. Does it still reproduce for you? Honza
[Bug target/43804] [4.5/4.6/4.7 regression] ICE in reload_cse_simplify_operands
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43804 --- Comment #22 from Andreas Schwab schwab at gcc dot gnu.org 2011-04-24 20:04:26 UTC --- Author: schwab Date: Sun Apr 24 20:04:24 2011 New Revision: 172920 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=172920 Log: Author: Richard Sandiford richard.sandif...@linaro.org PR target/43804 * gcc/config/m68k/constraints.md (T): Allow PIC operands that satisfy LEGITIMATE_PIC_OPERAND_P. Modified: trunk/gcc/ChangeLog trunk/gcc/config/m68k/constraints.md
[Bug target/43804] [4.5/4.6/4.7 regression] ICE in reload_cse_simplify_operands
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43804 Andreas Schwab sch...@linux-m68k.org changed: What|Removed |Added Known to work||4.7.0 --- Comment #23 from Andreas Schwab sch...@linux-m68k.org 2011-04-24 20:05:46 UTC --- Fixed for 4.7.
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #5 from dave at hiauly1 dot hia.nrc.ca 2011-04-24 20:24:00 UTC --- I've comitted patch for bug with similar symptoms today. Does it still reproduce for you? I noticed that and started a couple of new builds. Should know in a couple of hours.
[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #7 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-04-24 20:33:17 UTC --- Patch submitted to gfortran list for review.
[Bug ada/48756] New: FAIL: c940013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48756 Summary: FAIL: c940013 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: dang...@gcc.gnu.org Host: hppa-unknown-linux-gnu Target: hppa-unknown-linux-gnu Build: hppa-unknown-linux-gnu xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found compilation terminated. /home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a: parse erro rs detected /home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a: chop may not be successfulsplitting /home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c940013.a into: c940013.adbBUILD c940013.adb gnatmake --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/ -gnatws -O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c94 0013.adb -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/ /home/dave/gnu/gcc/objdir/gcc/xgcc -c -B/home/dave/gnu/gcc/objdir/gcc/ -gnatws - O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c940013.adb gnatbind -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support -x c940013. ali gnatlink c940013.ali -O2 --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/g nu/gcc/objdir/gcc/ RUN c940013 ,.,. C940013 ACATS 2.5 11-04-24 11:06:33 C940013 Check that queues on protected entries are handled FIFO and that 'count is correct. * C940013 Queueing on the Wait_at_Meter queue failed. * C940013 Intermediate Wait_at_Entry'count is incorrect. * C940013 Queueing on the Wait_at_Meter queue failed. * C940013 Queueing on the Wait_at_Meter queue failed. * C940013 Queueing on the Wait_at_Meter queue failed. C940013 FAILED . FAIL: c940013 This is with revision 172898.
[Bug ada/48756] FAIL: c940013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48756 --- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-04-24 20:41:46 UTC --- Similar fail is c954023: xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found compilation terminated./home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a: parse erro rs detected/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a: chop may n ot be successful splitting /home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/tests/c9/c954023.a i nto: c954023.adbBUILD c954023.adbgnatmake --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/g cc/ -gnatws -O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c954023.adb -largs --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/o bjdir/gcc//home/dave/gnu/gcc/objdir/gcc/xgcc -c -B/home/dave/gnu/gcc/objdir/gcc/ -gnatws - O2 -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support c954023.adbgnatbind -I/home/dave/gnu/gcc/objdir/gcc/testsuite/ada/acats/support -x c954023. ali gnatlink c954023.ali -O2 --GCC=/home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/g nu/gcc/objdir/gcc/ RUN c954023 ,.,. C954023 ACATS 2.5 11-04-24 11:14:59 C954023 Requeue from within a protected object to a family of entries in another protected object. * C954023 Credit Task: Second group not Medium Priority. * C954023 Credit Task: Third group not Low Priority. C954023 FAILED . FAIL: c954023
[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #8 from Thomas Henlich thenlich at users dot sourceforge.net 2011-04-24 21:41:16 UTC --- I don't have access to a build system until Tuesday, so I couldn't test your patch. But I'm not sure I understand what you are trying to do. I see that you added one more digit in the output. I am not convinced that adding one digit will solve the problem of rounding. It will for my first test case, because it works for the values 1.1 and 1.9. But will it work for values like 1.1 or 1.9? With your patch, they will be rounded to 1.0 (or 2.0) by printf so libfortran has no way of knowing that it should round up (or down). And we recently set the maximum output width to the minimum value required by IEEE 754-2008. Increasing that further (as your patch does) will only serve in reducing the maximum rounding error from 1/1000 to 1/1 (but does not contribute to fixing this bug) Can you confirm that the patch fixes all the testcases in attachment 24083? I still think my comment #2 still applies: We can only use this shortcut rounding if the requested rounding mode equals that of printf, which I found to be NEAREST with __mingw_printf and COMPATIBLE with MSVC printf. Others, e.g. glibc probably have one of these modes, but I couldn't yet find out if this feature is documented at all.
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 --- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 21:51:51 UTC --- I had a quick look to this code and something really bad is going on, like, eg, memory deallocated before calling the destructor of the object constructed in it via placement new. And much more. The patchlet below, which I'd ask the submitters to test, gives me something much more sane, wrt Valgrind too, but Jahannes should really have a look asap. (Note the patch is versus mainline first, as usual, thus doesn't apply cleanly as-is to 4.4 for various trivial reasons, like uglified names) / Index: par_loop.h === --- par_loop.h(revision 172920) +++ par_loop.h(working copy) @@ -91,8 +91,7 @@ _ThreadIndex __iam = omp_get_thread_num(); // Neutral element. -_Result* __reduct = static_cast_Result* - (::operator new(sizeof(_Result))); +_Result* __reduct; _DifferenceType __start = equally_split_point(__length, __num_threads, __iam), @@ -100,7 +99,7 @@ if (__start __stop) { -new(__reduct) _Result(__f(__o, __begin + __start)); +__reduct = new _Result(__f(__o, __begin + __start)); ++__start; __constructed[__iam] = true; } @@ -110,18 +109,26 @@ for (; __start __stop; ++__start) *__reduct = __r(*__reduct, __f(__o, __begin + __start)); -__thread_results[__iam] = *__reduct; +if (__constructed[__iam]) + { +::new(__thread_results[__iam]) _Result(*__reduct); +delete __reduct; + } } //parallel for (_ThreadIndex __i = 0; __i __num_threads; ++__i) if (__constructed[__i]) - __output = __r(__output, __thread_results[__i]); + { +__output = __r(__output, __thread_results[__i]); +(__thread_results[__i])-~_Result(); + } // Points to last element processed (needed as return value for // some algorithms like transform). __f._M_finish_iterator = __begin + __length; - delete[] __thread_results; + ::operator delete(__thread_results); + delete[] __constructed; return __o;
[Bug rtl-optimization/48757] New: internal compiler error: in compensate_edge, at reg-stack.c:2788
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48757 Summary: internal compiler error: in compensate_edge, at reg-stack.c:2788 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: chiliki...@gmail.com Created attachment 24093 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24093 fconc64.f (from CERNLIB / MATHLIB, simplified) Version of compiler: 4.6.0 The same problem exists in version 4.5.2 System type and configuration of the compiler: Target: i686-pc-linux-gnu Configured with: ./configure --prefix=/opt/gcc-4.6.0/ Thread model: posix Triggering the bug (fconc64.f is attached file): gfortran -c -O2 fconc64.f The bug does not occur without optimization flag -O2 Compiler output: fconc64.f:18.72: ASSIGN 1 TO JP 1 Warning: Deleted feature: ASSIGN statement at (1) fconc64.f:20.72: 1 ASSIGN 2 TO JP 1 Warning: Deleted feature: ASSIGN statement at (1) fconc64.f:24.72: 12 ASSIGN 3 TO JP 1 Warning: Deleted feature: ASSIGN statement at (1) fconc64.f:28.72: 13 ASSIGN 4 TO JP 1 Warning: Deleted feature: ASSIGN statement at (1) fconc64.f:36.38: IF(ABS(R-RR) .LT. EPS) GO TO JP, (1,2,3,4) 1 Warning: Deleted feature: Assigned GOTO statement at (1) fconc64.f:43.38: IF(ABS(R-RR) .LT. EPS) GO TO JP, (1,2,3,4) 1 Warning: Deleted feature: Assigned GOTO statement at (1) fconc64.f: In function 'dfconc': fconc64.f:52:0: internal compiler error: in compensate_edge, at reg-stack.c:2788 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions.
[Bug libstdc++/48750] for_each_template_random_access_ed has unbalanced new/delete[]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||paolo.carlini at oracle dot ||com --- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com 2011-04-24 22:13:24 UTC --- Johannes, can you please also audit the other uses of operator new, placement new, etc, and double check that: 1- We are not assigning to an object before constructing. 2- We destruct each object before deleting its memory. Thanks!
Re: [Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net 2011-04-24 21:41:16 UTC --- I don't have access to a build system until Tuesday, so I couldn't test your patch. But I'm not sure I understand what you are trying to do. Please read my post on the gfortran mailing list. There are four bugs addressed by this patch.
[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #9 from jvdelisle at frontier dot com 2011-04-24 23:24:53 UTC --- On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net 2011-04-24 21:41:16 UTC --- I don't have access to a build system until Tuesday, so I couldn't test your patch. But I'm not sure I understand what you are trying to do. Please read my post on the gfortran mailing list. There are four bugs addressed by this patch.
[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #10 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-04-24 23:43:34 UTC --- Regarding comment #2. The patch completely eliminates this code. I did not feel confident that it is safe enough for all platforms. My approach is to first get the output correct, then we can think about optimizations later. A final fix for PR48602 will be second phase of this patch work. After that is complete, then we can re-look at any optimizations.
[Bug libfortran/48615] Invalid UP/DOWN rounding with E and ES descriptors
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #11 from jvdelisle at frontier dot com 2011-04-24 23:54:11 UTC --- On 04/24/2011 02:41 PM, thenlich at users dot sourceforge.net wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48615 --- Comment #8 from Thomas Henlichthenlich at users dot sourceforge.net 2011-04-24 21:41:16 UTC --- --- snip --- Can you confirm that the patch fixes all the testcases in attachment 24083? The test case of attachment 24083 is included in the patch as round_3.f08 and yes it passes.
[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 Jan Hubicka hubicka at gcc dot gnu.org changed: What|Removed |Added CC||hubicka at gcc dot gnu.org Blocks||45375 --- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org 2011-04-25 00:05:15 UTC --- Same ICE now reproduces with Mozilla build
[Bug middle-end/48752] [4.7 Regression] ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48752 --- Comment #6 from dave at hiauly1 dot hia.nrc.ca 2011-04-25 01:27:59 UTC --- On Sun, 24 Apr 2011, John David Anglin wrote: I've comitted patch for bug with similar symptoms today. Does it still reproduce for you? I noticed that and started a couple of new builds. Should know in a couple of hours. The bug is still there.
[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||rguenth at gcc dot gnu.org --- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2011-04-25 04:17:21 UTC --- It is caused by revision 170321: http://gcc.gnu.org/ml/gcc-cvs/2011-02/msg00866.html
[Bug c/48758] New: gcc miscompiles Emacs by incorrectly substituting memcpy for memmove
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48758 Summary: gcc miscompiles Emacs by incorrectly substituting memcpy for memmove Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: egg...@gnu.org Host: i686-pc-linux-gnu Target: i686-pc-linux-gnu Build: i686-pc-linux-gnu Created attachment 24094 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24094 Copy of the source code illustrating the problem When compiling a test version of GNU Emacs with GCC 4.6.0 on Ubuntu 10.10 x86, the resulting Emacs usually works, but sometimes it crashes. It took me a while to debug the problem, but it turns out that GCC 4.6.0 incorrectly substitutes memcpy for memmove, and this invalid substitution crashes Emacs. This is a regression from the GCC 4.4.5 that comes with Ubuntu. Here's a stripped-down source file c.c illustrating the problem; (I've also attached c.c for convenience.) typedef unsigned int size_t; extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__)) memmove (void *__restrict __dest, __const void *__restrict __src, size_t __len) { return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } void str_to_multibyte (unsigned char *str, int len, int bytes) { unsigned char *p = str, *endp = str + bytes; while (p endp *p 0x80) p++; if (p == endp) return; bytes = endp - p; endp = str + len; memmove (endp - bytes, p, bytes); } Here's the assembly language output from running 'gcc -S -O2'. Notice that it invokes memcpy, not memmove. But this is an invalid optimization, because 'bytes' and 'len' are independent, and it could well be that the target of memmove overlaps the source. .filec.c .text .p2align 4,,15 .globlstr_to_multibyte .typestr_to_multibyte, @function str_to_multibyte: .LFB1: .cfi_startproc pushl%esi .cfi_def_cfa_offset 8 .cfi_offset 6, -8 pushl%ebx .cfi_def_cfa_offset 12 .cfi_offset 3, -12 movl12(%esp), %ebx movl20(%esp), %ecx movl16(%esp), %esi addl%ebx, %ecx cmpl%ecx, %ebx jae.L2 cmpb$0, (%ebx) movl%ebx, %edx jns.L4 jmp.L2 .p2align 4,,7 .p2align 3 .L9: cmpb$0, 1(%edx) js.L6 movl%eax, %edx .L4: leal1(%edx), %eax cmpl%ecx, %eax jne.L9 .L1: popl%ebx .cfi_remember_state .cfi_def_cfa_offset 8 .cfi_restore 3 popl%esi .cfi_def_cfa_offset 4 .cfi_restore 6 ret .L2: .cfi_restore_state cmpl%ecx, %ebx je.L1 movl%ebx, %eax .p2align 4,,7 .p2align 3 .L6: subl%eax, %ecx addl%esi, %ebx subl%ecx, %ebx movl%ecx, 20(%esp) movl%eax, 16(%esp) movl%ebx, 12(%esp) popl%ebx .cfi_def_cfa_offset 8 .cfi_restore 3 popl%esi .cfi_def_cfa_offset 4 .cfi_restore 6 jmpmemcpy .cfi_endproc .LFE1: .sizestr_to_multibyte, .-str_to_multibyte .identGCC: (GNU) 4.6.0 .section.note.GNU-stack,,@progbits Here's the output of 'gcc -v -save-temps -S -O2 c.c': Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/home/eggert/opt/gcc-4.6.0/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../gcc-4.6.0/configure --prefix=/home/eggert/opt/gcc-4.6.0 --disable-nls Thread model: posix gcc version 4.6.0 (GCC) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-S' '-O2' '-mtune=generic' '-march=pentiumpro' /home/eggert/opt/gcc-4.6.0/libexec/gcc/i686-pc-linux-gnu/4.6.0/cc1 -E -quiet -v c.c -mtune=generic -march=pentiumpro -O2 -fpch-preprocess -o c.i ignoring nonexistent directory /home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/../../../../i686-pc-linux-gnu/include #include ... search starts here: #include ... search starts here: /home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/include /usr/local/include /home/eggert/opt/gcc-4.6.0/include /home/eggert/opt/gcc-4.6.0/lib/gcc/i686-pc-linux-gnu/4.6.0/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-S' '-O2'