[Bug libfortran/48906] Wrong rounding results with -m32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48906 --- Comment #19 from Thomas Henlich thenlich at users dot sourceforge.net 2011-06-01 06:26:27 UTC --- Also, the test case, pr20755.f was originally intended to pass only with -std=legacy. This is to mimic g77 which does not ignore the scale factor. At least recently, gfortran passes this test case regardless of the -std=. I am tempted to delete the test case, since it looks like it goes against current standards. Any opinions about this? Now you've lost me. From what I understand PR20755 was about G editing resetting the scale factor in certain cases (to 0 in the example) and not restoring it afterwards (to 1 in this case). This is a bug both in legacy and in Fortran standard modes. The bug was fixed and a testcase was created. The result is standard-compliant. Why would you want to remove the testcase? The point of having a testcase is to prevent a reappearing of the same bug in the future, so maybe we should keep it.
[Bug debug/48203] ICE in dwarf2out.c while building eglibc.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48203 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 06:32:11 UTC --- Hopefully.
[Bug other/49244] no intrinsics to emit 'lock bts' and 'lock btc'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49244 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||aldyh at gcc dot gnu.org, ||jakub at gcc dot gnu.org, ||rth at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 06:54:05 UTC --- I'm afraid this can't be done in the combiner nor in peephole2 and generally would be hard to do after expansion, but perhaps it could be done during expansion or earlier, by folding the (complex) sequence into a new builtin, preferrably with space in the name to make it inaccessible to users and then expanding that builtin.
[Bug libfortran/48906] Wrong rounding results with -m32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48906 --- Comment #20 from Thomas Henlich thenlich at users dot sourceforge.net 2011-06-01 08:12:31 UTC --- (In reply to comment #18) Created attachment 24406 [details] New updated patch This updated patch takes care of Comment #16. Unfortunately, now the other testcases fail again (although with still another results): print (ru,g15.2), .099d0 ! 0.10E-01 expected 0.10 print (rc,g15.1), .095d0 ! 0.1E-01 expected 0.1 print (rc,g15.2), .0995d0 ! 0.10E-01 expected 0.10 print (ru,g15.3), .0999d0 ! 0.100E-01 expected 0.100 print (rc,g10.2), 99.5 ! 0.10E+02 expected 0.10E+03 print (rc,g10.2), 995. ! 0.10E+03 expected 0.10E+04 print (rc,g10.3), 999.5 ! 0.100E+03 expected 0.100E+04 print (rc,g10.3), 9995. ! 0.100E+04 expected 0.100E+05 It seems there is still a bug that doesn't increment the exponent in the overflow case, i.e. when going from 0....E(x) to 0.1000...E(x+1) The exponent test (decision between F and E editing) must be done after that! I can not find this in the code right now.
[Bug c++/49251] New: [C++0x][parameter pack expanding] unused parameter warning with unpacking empty tuples
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49251 Summary: [C++0x][parameter pack expanding] unused parameter warning with unpacking empty tuples Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: gintensub...@gmail.com #include tuple template std::size_t... Indices struct indices {}; template class... Args void sink( Args... ) {} template class Tuple, std::size_t... Indices void unpack_test( Tuple t, indicesIndices... ) { sink( std::getIndices(t)... ); } int main() { unpack_test( std::tuple(), indices() ); } This code, which is unpacking tuples, raises unused parameter warning: $ g++ -std=c++0x -Wunused-parameter bug.cc bug.cc: In instantiation of 'void unpack_test(Tuple, indicesIndices ...) [with Tuple = std::tuple, unsigned int ...Indices = {}]': bug.cc:15:44: instantiated from here bug.cc:10:6: warning: unused parameter 't' [-Wunused-parameter] I've confirmed this behavior on following versions: 4.5.0 4.5.3 4.6.0 4.6-20110527 4.7-20110528 It can be avoided by using the parameter explicitly, like `(void)t;', but it's not always used. ( For example, it cannot be used for constexpr functions. )
[Bug objc/47077] ICE on invalid code (method implementation outside of implementation context)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47077 Nicola Pero nicola at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 08:40:25 Ever Confirmed|0 |1 --- Comment #1 from Nicola Pero nicola at gcc dot gnu.org 2011-06-01 08:40:25 UTC --- Yes, confirmed. Thanks
[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 --- Comment #12 from rguenther at suse dot de rguenther at suse dot de 2011-06-01 08:54:43 UTC --- On Tue, 31 May 2011, hubicka at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 --- Comment #11 from Jan Hubicka hubicka at gcc dot gnu.org 2011-05-31 16:05:49 UTC --- The patch seems to work. I now get the ICE at output_die (already reported) but also new /abuild/jh/trunk-install/bin/g++ -flto=24 -fuse-linker-plugin -o dump_syms -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -lpthread-Wl,-rpath-link,/abuild/jh/build-mozilla-new12/dist/bin -Wl,-rpath-link,/usr/local/lib -static host_dump_syms.o ../../../../../../../toolkit/crashreporter/google-breakpad/src/common/linux/libhost_breakpad_linux_common_s.a ../../../../../../../toolkit/crashreporter/google-breakpad/src/common/libhost_breakpad_common_s.a ../../../../../../../toolkit/crashreporter/google-breakpad/src/common/dwarf/libhost_breakpad_dwarf_s.a In file included from /abuild/jh/trunk-install/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_tree.h:930:0, from :311: /abuild/jh/mozilla-central2/mozilla-central/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc: In function 'FindElfClassTextSection': /abuild/jh/mozilla-central2/mozilla-central/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc:133:73: internal compiler error: in gen_typedef_die, at dwarf2out.c:21064 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[6]: *** [/tmp/ccaKinu0.ltrans21.ltrans.o] Error 1 Shall I try to get testcase? No, that's another expected one. I'll attach an updated patch.
[Bug c++/49221] [4.7 Regression] Several ICEs in the obj-c++ test suite after revision 174307
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49221 Nicola Pero nicola at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 09:28:00 CC||nicola at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #5 from Nicola Pero nicola at gcc dot gnu.org 2011-06-01 09:28:00 UTC --- Yes, this is confirmed. Here is what I see -- === obj-c++ tests === Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /home/nicola/GCC/trunk2/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/attributes/attributes.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/dg.exp ... FAIL: obj-c++.dg/exceptions-3.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/exceptions-3.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/exceptions-4.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/exceptions-4.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/exceptions-5.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/exceptions-5.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/fobjc-exceptions-1.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/fobjc-exceptions-1.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/fobjc-exceptions-2.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/fobjc-exceptions-2.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/fobjc-exceptions-3.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/fobjc-exceptions-3.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/try-catch-13.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/try-catch-13.mm -fgnu-runtime (test for excess errors) FAIL: obj-c++.dg/try-catch-4.mm -fgnu-runtime (internal compiler error) FAIL: obj-c++.dg/try-catch-4.mm -fgnu-runtime (test for excess errors) Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/lto/lto.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/property/property.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/strings/strings.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/tls/tls.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/torture/dg-torture.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/torture/strings/strings.exp ... Running /home/nicola/GCC/trunk2/gcc/testsuite/obj-c++.dg/torture/tls/tls.exp ... === obj-c++ Summary === # of expected passes1422 # of unexpected failures16 # of expected failures 2 # of unsupported tests 86 /home/nicola/GCC/build-trunk2-full-parallel/gcc/testsuite/obj-c++/../../g++ version 4.7.0 20110601 (experimental) (GCC) make[1]: [check-obj-c++] Error 1 (ignored) make[1]: Leaving directory `/home/nicola/GCC/build-trunk2-full-parallel/gcc' For the record, they are due to the compiler crashing in add_stmt(). Here is a stack trace of the compiler just before crashing -- Breakpoint 1, add_stmt (t=0xb7d9ebb8) at ../../trunk2/gcc/cp/semantics.c:381 381 { (gdb) i stack #0 add_stmt (t=0xb7d9ebb8) at ../../trunk2/gcc/cp/semantics.c:381 #1 0x08145b40 in cp_finish_decl (decl=0xb7da94e0, init=0x0, init_const_expr_p=0 '\000', asmspec_tree=0x0, flags=0) at ../../trunk2/gcc/cp/decl.c:6194 #2 0x080de1bf in finish_var_decl (var=0xb7da94e0, initializer=0xb7da4300) at ../../trunk2/gcc/objc/objc-runtime-shared-support.c:144 #3 0x080e20a5 in objc_eh_runtime_type (type=0xb7d95780) at ../../trunk2/gcc/objc/objc-gnu-runtime-abi-01.c:2190 #4 0x0844c0c9 in add_type_for_runtime (type=0xb7d95780) at ../../trunk2/gcc/except.c:660 #5 add_type_for_runtime (type=0xb7d95780) at ../../trunk2/gcc/except.c:648 #6 0x0844c20d in gen_eh_region_catch (t=0xb7da8690, type_or_list=0xb7d95780) at ../../trunk2/gcc/except.c:375 #7 0x086e3972 in lower_catch (state=0xbfffe634, seq=Unhandled dwarf expression opcode 0xf3 ) at ../../trunk2/gcc/tree-eh.c:1680 #8 lower_eh_constructs_2 (state=0xbfffe634, seq=Unhandled dwarf expression opcode 0xf3 ) at ../../trunk2/gcc/tree-eh.c:1958 #9 lower_eh_constructs_1 (state=0xbfffe634, seq=Unhandled dwarf expression opcode 0xf3 ) at ../../trunk2/gcc/tree-eh.c:1996 #10 0x086e3621 in lower_try_finally (state=0xbfffe6b4, seq=Unhandled dwarf expression opcode 0xf3 ) at ../../trunk2/gcc/tree-eh.c:1566 #11 lower_eh_constructs_2 (state=0xbfffe6b4, seq=Unhandled dwarf expression opcode 0xf3 ) at ../../trunk2/gcc/tree-eh.c:1945 #12 lower_eh_constructs_1 (state=0xbfffe6b4, seq=Unhandled dwarf
[Bug c++/49252] New: Problem with inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49252 Summary: Problem with inline Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: jwillem...@remedy.nl Using gcc on OpenSuSE 4.6 g++-4.6 (SUSE Linux) 4.6.0 20110505 [gcc-4_6-branch revision 173419] 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. The example program: #include string namespace Demo { class SOne { std::string text (void) const; private: std::string text_; }; } inline std::string ::Demo::SOne::text (void) const { return this-text_; } Gives the error: johnny@m4500jw:~/ACE/IDL2CPP/test g++-4.6 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -O3 -ggdb -m64 -pthread -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -std=c++0x -c -o .obj/demoC.o a.cpp a.cpp:13:8: error: ‘Demo’ in class ‘std::string’ does not name a type Removing :: after std::string in the inline method resolves this error
[Bug c++/49252] Problem with inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49252 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-06-01 10:20:00 UTC --- This has absolutely nothing to do with 'inline' Whitespace is not significant in C++ so that line is equivalent to a single qualified name: std :: string :: Demo :: SOne :: text Which is invalid. Since the :: in ::Demo is optional you can just leave it out to cause the correct name to be found.
[Bug lto/49249] LTO streaming of builtins corrupts BLOCK lists
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49249 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||lto Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 10:23:50 CC||rguenth at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-01 10:23:50 UTC --- Ugh. I suppose we should just stream them regularly ...
[Bug tree-optimization/49243] attribute((returns_twice)) doesn't work
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49243 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-01 10:30:42 UTC --- Looks good. Can you test the patch and post it to gcc-patches?
[Bug rtl-optimization/48496] [4.7 Regression] 'asm' operand requires impossible reload in libffi/src/ia64/ffi.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48496 --- Comment #5 from Andreas Schwab sch...@linux-m68k.org 2011-06-01 10:57:40 UTC --- Bootstrap broken for 2 months now.
[Bug c++/49253] New: [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 Summary: [4.7 Regression] Debug-mode forward_list broken Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: paolo.carl...@oracle.com Something changed either in the front-end or the middle end over the next couple of days which broke the debug-mode forward_list, like this: ...debug/forward_list:650:25: error: request for member ‘__gnu_debug::_Safe_iterator_base::_M_prior’ in ‘__rhs_iterators-’, which is of non-class type ‘__gnu_debug::_Safe_iterator_base*’ To reproduce just compile, with -std=c++0x -D_GLIBCXX_DEBUG: #include forward_list No recent changes to the library itself can possibly have caused this. HJ, can you search the offending patch?
[Bug c++/49223] Internal compiler error when using OpenMP
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49223 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 11:08:38 UTC --- Fixed.
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||hjl at gcc dot gnu.org --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2011-06-01 11:09:14 UTC --- Asking HJ help.
[Bug c/48716] gcc OpenMP static variable declared in scope inside construct is predetermined shared
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48716 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 11:09:19 UTC --- Fixed.
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2011-06-01 11:22:57 UTC --- Tried Rev 174498 and was Ok. Could be 174499.
[Bug objc++/49221] [4.7 Regression] Several ICEs in the obj-c++ test suite after revision 174307
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49221 Nathan Froyd froydnj at gcc dot gnu.org changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #6 from Nathan Froyd froydnj at gcc dot gnu.org 2011-06-01 12:01:06 UTC --- I'm not sure what to do in this case; maybe Jason has an opinion. Jason, should we be push_stmt'ing somewhere in the objc code (objc_eh_runtime_type, perhaps)?
[Bug c++/49254] New: cannot declare member template as friend of class template
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49254 Summary: cannot declare member template as friend of class template Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: minor Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org templatetypename T class outer { templatetypename U struct inner { }; templatetypename U friend class outer; templatetypename U templatetypename friend class outerU::inner; public: outer() { } }; template class outervoid; template class outervoid::innerint; Gives this error: priv2.cc: In instantiation of 'outervoid': priv2.cc:21:16: instantiated from here priv2.cc:5:14: error: 'templateclass T templateclass U struct outerT::inner' is private priv2.cc:5:14: error: within this context I don't think the friend declaration is actually needed to allow innerU to access outerT, but I think it is valid and should be accepted. Comeau and Clang accept it.
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug libfortran/48906] Wrong rounding results with -m32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48906 --- Comment #21 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-06-01 12:26:28 UTC --- Regarding comment #18, the test case passes regardless 0f the -std=legacy option specified at the beginning of the source file. I am questioning why that option is ignored in current gfortran releases. Somewhere along the way, something changed. I am also asking, do we want the test case to pass under -std=legacy only, or pass all the time. Regarding, not incrementing the exponent, I missed that and will update on next iteration. thanks for reviews.
[Bug fortran/49255] New: -fcheck=pointer diagnosts too much: Passing NULL pointer to OPTIONAL argument
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49255 Summary: -fcheck=pointer diagnosts too much: Passing NULL pointer to OPTIONAL argument Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: diagnostic, patch, rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: bur...@gcc.gnu.org Valid F2008 test case: integer,pointer :: ptr = null() call foo(ptr) contains subroutine foo (x) integer, optional :: x print *, present (x) end subroutine foo end But with -fcheck=pointer, gfortran prints at run time: At line 2 of file test.f90 Fortran runtime error: Pointer actual argument 'ptr' is not associated --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -3269,13 +3269,16 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, else goto end_pointer_check; - if (attr.optional) + if (attr.optional + ((gfc_option.allow_std GFC_STD_F2008) == 0 + || attr.proc_pointer)) { /* If the actual argument is an optional pointer/allocatable and the formal argument takes an nonpointer optional value, it is invalid to pass a non-present argument on, even though there is no technical reason for this in gfortran. -See Fortran 2003, Section 12.4.1.6 item (7)+(8). */ +See Fortran 2003, Section 12.4.1.6 item (7)+(8). +In Fortran 2008 that's allowed; cf. 12.5.2.12. */ tree present, null_ptr, type; if (attr.allocatable
[Bug lto/49256] New: [4.7 Regression] 403.gcc in SPEC CPU 2006 went to an infinite loop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49256 Summary: [4.7 Regression] 403.gcc in SPEC CPU 2006 went to an infinite loop Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86-64, revision 173870 compiles 403.gcc in SPEC CPU 2006 into an infinite loop with -O3 -funroll-loops -ffast-math -fwhole-program -flto=jobserver -fuse-linker-plugin
[Bug target/49180] pr45070.c fails for -Os -mthumb
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49180 Ian Bolton ibolton at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 13:32:49 CC||ibolton at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #2 from Ian Bolton ibolton at gcc dot gnu.org 2011-06-01 13:32:49 UTC --- I have managed to reproduce this with latest trunk. Hopefully, the copyright assignment will come through soon and Mikael can post his patch.
[Bug lto/49256] [4.7 Regression] 403.gcc in SPEC CPU 2006 went to an infinite loop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49256 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-01 13:37:47 UTC --- Works w/o -fwhole-program and GNU ld for me.
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 13:46:19 CC|hjl at gcc dot gnu.org |hjl.tools at gmail dot com Ever Confirmed|0 |1 --- Comment #3 from H.J. Lu hjl.tools at gmail dot com 2011-06-01 13:46:19 UTC --- It is caused by revision 174499: http://gcc.gnu.org/ml/gcc-cvs/2011-05/msg01280.html
[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Attachment #24395|0 |1 is obsolete|| --- Comment #13 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-01 13:49:47 UTC --- Created attachment 24407 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24407 another update Try this instead.
[Bug c/49257] New: -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 Summary: -mfpmath=sse generates x87 instructions on 32 bits OS Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: olivier_ma...@mentor.com Created attachment 24408 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24408 simple reproducer Hi, Please find attached a simple C program that shows the issue. I compile it that way: gcc -O0 simple.c -mfpmath=sse -msse3 -o ok.exe ./ok.exe returns the correct value gcc -O0 simple.c -mfpmath=sse -msse3 -DRETURN_NAN -o nan.exe ./nan.exe returns a NAN Both exe use some gcc intrinsic that change the FP stack into mmx registers. It is expected that if I call a libc function (like printf) without restoring the stack to its original state (using emms) then I'll have a wrong behavior. But, here, because of the following assembly code: .L4: fildq 72(%esp) cmpl$0, 76(%esp) jns .L3 fldt.LC2 faddp %st, %st(1) .L3: fstpl 24(%esp) movsd 24(%esp), %xmm0 mulsd 56(%esp), %xmm0 movsd %xmm0, 40(%esp) movl68(%esp), %eax movl4(%eax), %edx movl(%eax), %eax movl52(%esp), %ecx movl%eax, 16(%esp) movl%edx, 20(%esp) movq16(%esp), %mm0 movntq %mm0, (%ecx) addl$1, 72(%esp) adcl$0, 76(%esp) .L2: cmpl$0, 76(%esp) jb .L4 cmpl$0, 76(%esp) ja .L6 cmpl$9, 72(%esp) jbe .L4 I've got a NAN why I shouldn't !? The instruction that generates that x87 code is the line (double)i * coeff; where i is an unsigned long long and coeff is a double. It works well if for instance 'i' is a long/int/unsigned int. Maybe that behavior is expected ? BR Olivier
[Bug target/49257] -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target||i?86-*-* Status|UNCONFIRMED |NEW Keywords||wrong-code Last reconfirmed||2011.06.01 14:25:20 Component|c |target Ever Confirmed|0 |1 Known to fail||3.3.3, 4.5.4, 4.7.0 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-06-01 14:25:20 UTC --- Confirmed.
[Bug middle-end/48600] [4.6/4.7 Regression] ICE when using cold attribute
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48600 --- Comment #5 from Matt Hargett matt at use dot net 2011-06-01 14:36:17 UTC --- any chance this can be fixed for 4.6.1? this is a critical regression for us.
[Bug other/47733] psignal (int, const? char*) in libiberty/strsignal.h
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47733 Jan Smets jan.sm...@alcatel-lucent.com changed: What|Removed |Added CC||jan.sm...@alcatel-lucent.co ||m --- Comment #1 from Jan Smets jan.sm...@alcatel-lucent.com 2011-06-01 15:05:34 UTC --- I've seen this on 4.6.0 too. Solutions works.
[Bug java/49258] New: -ffunction-sections and --gc-sectinons have no effect at gcj
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49258 Summary: -ffunction-sections and --gc-sectinons have no effect at gcj Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: java AssignedTo: unassig...@gcc.gnu.org ReportedBy: licheng.1...@gmail.com there is many dead code at java source,and the gcj can't remove it. I hava been add the function-sections and gc-sections to the compiler flags.
[Bug c++/49259] New: template/incomplete6.C ICE in build_target_expr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49259 Summary: template/incomplete6.C ICE in build_target_expr Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Test g++.dg/template/incomplete6.C fails for arm-none-linux-gnueabi and arm-none-eabi: /scratch/janisjo/arm-eabi-fsf/src/gcc-mainline/gcc/testsuite/g++.dg/template/incomplete6.C: In member function 'Intsizeof (declvalF()(T())) SF, T::f(A) [with A = int, F = int (*)(...), T = templint]': /scratch/janisjo/arm-eabi-fsf/src/gcc-mainline/gcc/testsuite/g++.dg/template/incomplete6.C:21:29: instantiated from here /scratch/janisjo/arm-eabi-fsf/src/gcc-mainline/gcc/testsuite/g++.dg/template/incomplete6.C:16:9: internal compiler error: in build_target_expr, at cp/tree.c:296 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions The failure starts with this patch: r174101 | jason | 2011-05-24 03:49:03 + (Tue, 24 May 2011) PR c++/49102 * call.c (convert_arg_to_ellipsis): Call force_rvalue.
Re: 3-yr-old infloop in dwarf2out.c
coverity pointed out the infinite loop below. I guess it is unreachable or at least hard to reach, or it would have been reported/fixed before now: Would you mind opening a PR with bugzilla? -- Eric Botcazou
[Bug java/49258] -ffunction-sections and --gc-sectinons have no effect at gcj
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49258 licheng.1...@gmail.com licheng.1212 at gmail dot com changed: What|Removed |Added Severity|major |blocker
[Bug java/20215] gcj does not accept classes with same name fields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20215 --- Comment #11 from licheng.1212 at gmail dot com licheng.1212 at gmail dot com 2011-06-01 16:12:04 UTC --- is anybody here???
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 Rainer Orth ro at gcc dot gnu.org changed: What|Removed |Added Target|hppa-unknown-linux-gnu |hppa-unknown-linux-gnu, ||sparc-sun-solaris2.* CC||ebotcazou at gcc dot ||gnu.org, ro at gcc dot ||gnu.org Host|hppa-unknown-linux-gnu |hppa-unknown-linux-gnu, ||sparc-sun-solaris2.* Build|hppa-unknown-linux-gnu |hppa-unknown-linux-gnu, ||sparc-sun-solaris2.* --- Comment #2 from Rainer Orth ro at gcc dot gnu.org 2011-06-01 16:45:43 UTC --- I see the same error on Solaris/SPARC: $ cc1plus -fpreprocessed concept-inst.ii -mptr64 -mstack-bias -mno-v8plus -mcpu=v9 -quiet -dumpbase concept-inst.cc -m64 -m64 -auxbase-strip .libs/concept-inst.o -g -O2 -Wall -Wextra -Wwrite-strings -Wcast-qual -version -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -fimplicit-templates -fPIC GNU C++ (GCC) version 4.7.0 20110601 (experimental) [trunk revision 174532] (sparc-sun-solaris2.11) compiled by GNU C version 4.4.2, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.7.0 20110601 (experimental) [trunk revision 174532] (sparc-sun-solaris2.11) compiled by GNU C version 4.4.2, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 048b49f675aa3693a0af4b87220c2538 In file included from /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/bits/concept_check.h:55:0, from /vol/gcc/src/hg/trunk/local/libstdc++-v3/src/concept-inst.cc:32: /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/bits/boost_concept_check.h: In function 'void __gnu_cxx::__aux_require_boolean_expr(const _Tp) [with _Tp = bool]': /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/bits/boost_concept_check.h:238:3: internal compiler error: in set_slot_part, at var-tracking.c:6793
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 --- Comment #3 from Rainer Orth ro at gcc dot gnu.org 2011-06-01 16:46:38 UTC --- Created attachment 24409 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24409 preprocessed input
[Bug middle-end/31249] pseudo-optimization with sincos/cexpi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31249 William J. Schmidt wschmidt at gcc dot gnu.org changed: What|Removed |Added CC||wschmidt at gcc dot gnu.org --- Comment #22 from William J. Schmidt wschmidt at gcc dot gnu.org 2011-06-01 16:59:15 UTC --- It seems we should give targets like darwin a permanent workaround for this issue. Since config can't correctly determine in all cases whether an implementation has a fast enough sincos/cexp, the few targets where the current flags don't work should be able to disable the transformation. I can create a cse-sincos option flag, set on by default for most platforms. The darwin platform maintainer (and others, if necessary) could add -fno-cse-sincos to the platform defaults. Any concerns with this approach?
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 17:03:50 UTC --- Created attachment 24410 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24410 gcc47-pr49250.patch Untested fix.
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-06-01 17:11:49 UTC --- --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 17:03:50 UTC --- Created attachment 24410 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24410 gcc47-pr49250.patch Untested fix. The patch allowed the 64-bit libstdc++ to build on sparc-sun-solaris2.11. Thanks. Rainer
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org |
[Bug c++/49260] New: cpp0x/lambda/lambda-eh2.C fails execution
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49260 Summary: cpp0x/lambda/lambda-eh2.C fails execution Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Test g++.dg/cpp0x/lambda/lambda-eh2.C fails execution on several targets as shown by archived test results: alpha-dec-osf5.1b arm-none-linux-gnueabi hppa2.0w-hp-hpux11.11 i686-apple-darwin9 powerpc-apple-darwin9.8.0 powerpc64-unknown-linux-gnu sh4-unknown-linux-gnu sparc-sun-solaris2.8, 2.9, 2.10 (but not 2.11) It also fails for arm-none-eabi, although the build has failed lately. Testing on arm-none-linux-gnueabi shows that the test has failed on that target since it was added on 2011-05-23 for r174076, to go with this fix: 2011-05-23 Jason Merrill ja...@redhat.com PR c++/47263 * decl.c (use_eh_spec_block): Do use an EH spec block for a lambda op().
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 --- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2011-06-01 17:31:08 UTC --- It seems unfortunate that make check-libstdc++-v3 doesn't catch obvious breakage like this; at the least we could make sure that stdc++.h compiles in debug/parallel modes?
[Bug c++/49260] cpp0x/lambda/lambda-eh2.C fails execution
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49260 --- Comment #1 from Janis Johnson janis at gcc dot gnu.org 2011-06-01 17:31:24 UTC --- Output when the test runs on QEMU for arm-none-linux-gnueabi: terminate called after throwing an instance of 'int' *** EXIT code 4242 FAIL: g++.dg/cpp0x/lambda/lambda-eh2.C execution test
[Bug tree-optimization/39604] [4.3/4.4/4.5 Regression] tree-ssa-sink breaks stack layout
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39604 --- Comment #23 from Sandra Loosemore sandra at codesourcery dot com 2011-06-01 17:34:56 UTC --- Draft patch that addresses this bug here: http://gcc.gnu.org/ml/gcc-patches/2011-05/msg02029.html
[Bug target/49257] -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 --- Comment #2 from Uros Bizjak ubizjak at gmail dot com 2011-06-01 17:57:44 UTC --- The problem is in floatunsdidf2 expander that is currently disabled on x86_32 due to TARGET_KEEPS_VECTOR_ALIGNED_STACK. Without this expander, gcc generates unsigned DImode-XFmode conversion using floatdixf pattern with XFmode x87 registers. Since latest x86_32 ABI linux ABI mandates 16 byte alignment, we can perhaps: Index: config/i386/linux.h === --- config/i386/linux.h(revision 174535) +++ config/i386/linux.h(working copy) @@ -24,3 +24,6 @@ #define GLIBC_DYNAMIC_LINKER /lib/ld-linux.so.2 #define MD_UNWIND_SUPPORT config/i386/linux-unwind.h + +#undef TARGET_KEEPS_VECTOR_ALIGNED_STACK +#define TARGET_KEEPS_VECTOR_ALIGNED_STACK 1
[Bug c++/44175] [C++0x] decltype sometimes cannot recurse
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44175 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org |
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 --- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2011-06-01 18:07:06 UTC --- Author: jason Date: Wed Jun 1 18:07:03 2011 New Revision: 174539 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174539 Log: PR c++/49253 * typeck2.c (build_x_arrow): Don't use build_min_nt. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck2.c
[Bug target/49257] -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 --- Comment #3 from Uros Bizjak ubizjak at gmail dot com 2011-06-01 18:27:49 UTC --- Actually, there is no DImode SSE conversion instruction for 32bit targets, so implicit conversion generates fildq insn that uses x87 registers even with unsigned DImode operands.
[Bug c++/49253] [4.7 Regression] Debug-mode forward_list broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49253 --- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2011-06-01 18:39:43 UTC --- Yes. Running by default the entire testsuite in debug-mode too is not an option, would take too much time. Honestly, however, in my experience, isn't *that* common that a front-end issue shows up *only* in debug-mode and, anyway, the library developers proper run check-debug too rather often and are willing to file PRs ;) Thanks for the quick fix!
[Bug middle-end/31249] pseudo-optimization with sincos/cexpi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31249 --- Comment #23 from rguenther at suse dot de rguenther at suse dot de 2011-06-01 19:02:03 UTC --- On Wed, 1 Jun 2011, wschmidt at gcc dot gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31249 William J. Schmidt wschmidt at gcc dot gnu.org changed: What|Removed |Added CC||wschmidt at gcc dot gnu.org --- Comment #22 from William J. Schmidt wschmidt at gcc dot gnu.org 2011-06-01 16:59:15 UTC --- It seems we should give targets like darwin a permanent workaround for this issue. Since config can't correctly determine in all cases whether an implementation has a fast enough sincos/cexp, the few targets where the current flags don't work should be able to disable the transformation. I can create a cse-sincos option flag, set on by default for most platforms. The darwin platform maintainer (and others, if necessary) could add -fno-cse-sincos to the platform defaults. Any concerns with this approach? The concern is that we might want to vectorize sincos and that might have a fast implementation. I think rather than a flag disabling sincos a target with slow sincos should expand that to calling sin and cos (they can define an optab for sincos for example). That would also make user code that uses sincos fast.
[Bug c++/49181] [C++0x] Error reporting routines re-entered
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49181 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2011-06-01 19:08:45 UTC --- Another Error reporting routines re-entered ICE, I think this code worked a few days ago, using the 4.7-20110528 snapshot, but fails with trunk #include memory namespace std { templatetypename _OuterAlloc, typename... _InnerAllocs class scoped_allocator_adaptor : public _OuterAlloc { typedef allocator_traits_OuterAlloc __traits; templatetypename _Outer, typename... _Inner friend class scoped_allocator_adaptor; public: typedef _OuterAlloc outer_allocator_type; typedef typename __traits::size_type size_type; typedef typename __traits::pointer pointer; typedef typename __traits::const_void_pointer const_void_pointer; outer_allocator_type outer_allocator() noexcept; pointer allocate(size_type __n, const_void_pointer __hint) { return __traits::allocate(outer_allocator(), __n, __hint); } }; } typedef std::allocatorint salloc; namespace std { template class scoped_allocator_adaptorsalloc; } In file included from /home/redi/gcc/4.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/memory:65:0, from ice.cc:1: Internal compiler error: Error reporting routines re-entered. Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions.
[Bug middle-end/49261] New: [4.7 Regression] FAIL: gcc.dg/tree-ssa/forwprop-9.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49261 Summary: [4.7 Regression] FAIL: gcc.dg/tree-ssa/forwprop-9.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/ia32, revision 174538 gave FAIL: gcc.dg/tree-ssa/forwprop-9.c scan-tree-dump-times optimized = 1 2 Revision 174535 is OK.
[Bug c/49262] New: 3-yr-old infinite loop in dwarf2out.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49262 Summary: 3-yr-old infinite loop in dwarf2out.c Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: j...@meyering.net coverity pointed out the infinite loop below, in dwarf2out.c. I guess it is unreachable or at least hard to reach, or it would have been reported/fixed before now: 17605 if (index TREE_CODE (index) == RANGE_EXPR) 17606{ 17607 int count = tree_low_cst (TREE_OPERAND (index, 1), 0) 17608 - tree_low_cst (TREE_OPERAND (index, 0), 0); Event loop_top: Top of the loop. Event loop_condition: 0 count must remain true for the loop to continue. Also see events: [loop_bottom] 17609 while (count 0) 17610{ 17611 if (val) 17612memcpy (array + curpos, array + pos, fieldsize); Event loop_bottom: Bottom of the loop. Also see events: [loop_top][loop_condition] 17613 curpos += fieldsize; 17614} 17615}
Re: 3-yr-old infloop in dwarf2out.c
Eric Botcazou wrote: coverity pointed out the infinite loop below. I guess it is unreachable or at least hard to reach, or it would have been reported/fixed before now: Would you mind opening a PR with bugzilla? Not at all: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49262
[Bug middle-end/49261] [4.7 Regression] FAIL: gcc.dg/tree-ssa/forwprop-9.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49261 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug target/48808] ICE in spill_failure, at reload1.c:2113
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48808 --- Comment #3 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 2011-06-01 19:47:22 UTC --- Author: rsandifo Date: Wed Jun 1 19:47:19 2011 New Revision: 174540 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174540 Log: gcc/ PR rtl-optimization/48830 PR rtl-optimization/48808 PR rtl-optimization/48792 * reload.c (push_reload): Check contains_reg_of_mode. * reload1.c (strip_paradoxical_subreg): New function. (gen_reload_chain_without_interm_reg_p): Use it to handle paradoxical subregs. (emit_output_reload_insns, gen_reload): Likewise. gcc/testsuite/ 2011-06-01 Eric Botcazou ebotca...@adacore.com Hans-Peter Nilsson h...@axis.com PR rtl-optimization/48830 * gcc.target/sparc/ultrasp12.c: New test. Added: trunk/gcc/testsuite/gcc.target/sparc/ultrasp12.c Modified: trunk/gcc/ChangeLog trunk/gcc/reload.c trunk/gcc/reload1.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/48830] [4.4/4.5/4.6/4.7 Regression] unrecognized insn: storing invalid upper fp reg in SImode to stack
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48830 --- Comment #13 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 2011-06-01 19:47:22 UTC --- Author: rsandifo Date: Wed Jun 1 19:47:19 2011 New Revision: 174540 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174540 Log: gcc/ PR rtl-optimization/48830 PR rtl-optimization/48808 PR rtl-optimization/48792 * reload.c (push_reload): Check contains_reg_of_mode. * reload1.c (strip_paradoxical_subreg): New function. (gen_reload_chain_without_interm_reg_p): Use it to handle paradoxical subregs. (emit_output_reload_insns, gen_reload): Likewise. gcc/testsuite/ 2011-06-01 Eric Botcazou ebotca...@adacore.com Hans-Peter Nilsson h...@axis.com PR rtl-optimization/48830 * gcc.target/sparc/ultrasp12.c: New test. Added: trunk/gcc/testsuite/gcc.target/sparc/ultrasp12.c Modified: trunk/gcc/ChangeLog trunk/gcc/reload.c trunk/gcc/reload1.c trunk/gcc/testsuite/ChangeLog
[Bug target/48792] ICE in failed_reload, at reload1.c:6000
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48792 --- Comment #3 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 2011-06-01 19:47:22 UTC --- Author: rsandifo Date: Wed Jun 1 19:47:19 2011 New Revision: 174540 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174540 Log: gcc/ PR rtl-optimization/48830 PR rtl-optimization/48808 PR rtl-optimization/48792 * reload.c (push_reload): Check contains_reg_of_mode. * reload1.c (strip_paradoxical_subreg): New function. (gen_reload_chain_without_interm_reg_p): Use it to handle paradoxical subregs. (emit_output_reload_insns, gen_reload): Likewise. gcc/testsuite/ 2011-06-01 Eric Botcazou ebotca...@adacore.com Hans-Peter Nilsson h...@axis.com PR rtl-optimization/48830 * gcc.target/sparc/ultrasp12.c: New test. Added: trunk/gcc/testsuite/gcc.target/sparc/ultrasp12.c Modified: trunk/gcc/ChangeLog trunk/gcc/reload.c trunk/gcc/reload1.c trunk/gcc/testsuite/ChangeLog
[Bug target/45074] GCC Segmentation fault - negating global register variables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45074 --- Comment #7 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 2011-06-01 19:49:55 UTC --- Author: rsandifo Date: Wed Jun 1 19:49:53 2011 New Revision: 174541 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174541 Log: gcc/ PR target/45074 * optabs.h (valid_multiword_target_p): Declare. * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when doing multi-word operations. * optabs.c (expand_binop): Likewise. (expand_doubleword_bswap): Likewise. (expand_absneg_bit): Likewise. (expand_unop): Likewise. (expand_copysign_bit): Likewise. (multiword_target_p): New function. gcc/testsuite/ PR target/45074 * gcc.target/mips/pr45074.c: New test. Added: trunk/gcc/testsuite/gcc.target/mips/pr45074.c Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/optabs.c trunk/gcc/optabs.h trunk/gcc/testsuite/ChangeLog
[Bug c++/49134] ICE in g++.dg/cpp0x/constexpr tests for arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49134 Ramana Radhakrishnan ramana at gcc dot gnu.org changed: What|Removed |Added CC||jason at gcc dot gnu.org, ||ramana at gcc dot gnu.org --- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org 2011-06-01 19:53:02 UTC --- Adding Jason to the CC. Ramana
[Bug target/45074] GCC Segmentation fault - negating global register variables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45074 rsand...@gcc.gnu.org rsandifo at gcc dot gnu.org changed: What|Removed |Added CC||rsandifo at gcc dot gnu.org --- Comment #8 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 2011-06-01 19:54:55 UTC --- Fixed on trunk. The underlying bug has been around for a long time, so I don't think the fix is appropriate for release branches.
[Bug rtl-optimization/49157] Unnecessary stack save/restore code generated for a leaf function (arm-elf-gcc)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49157 Ramana Radhakrishnan ramana at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 19:56:05 CC||ramana at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org 2011-06-01 19:56:05 UTC --- With an arm-linux-gnueabi toolchain I see the following code - it's pointless creating space on the stack in this case. foo: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. addr0, r0, r0, lsr #16 subsp, sp, #8 sxthr0, r0 addsp, sp, #8 bxlr Possibly related to PR36409. Ramana
[Bug c++/49134] ICE in g++.dg/cpp0x/constexpr tests for arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49134 Ramana Radhakrishnan ramana at gcc dot gnu.org changed: What|Removed |Added Keywords||ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 19:58:11 Ever Confirmed|0 |1
[Bug target/49263] New: SH Target: underutilized TST #imm, R0 instruction
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49263 Summary: SH Target: underutilized TST #imm, R0 instruction Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: oleg.e...@t-online.de Created attachment 24411 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24411 test for various integer types and constant values 0...255 The TST #imm, R0 instruction is a bit underutilized on SH targets. For some bit patterns of the immediate constant it tries to extract the bits in question by various means and test the result against zero/non-zero and misses the straight forward instruction. In particular: * one single bit * n contiguous bits starting at bit 0 When testing a byte against 0x80 it uses CMP/PZ, which is as good as a TST instruction (in terms of costs), so this is OK. I've spotted this in version around 4.4. It still happens with 4.6 and the following config: Using built-in specs. COLLECT_GCC=sh-elf-gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/sh-elf/4.6.1/lto-wrapper Target: sh-elf Configured with: ../gcc-4.6-20110527/configure --target=sh-elf --prefix=/usr/local --enable-languages=c,c++ --enable-multilib --disable-libssp --without-headers --disable-nls --disable-werror --enable-lto --with-newlib --with-gnu-as --with-gnu-ld --with-system-zlib Thread model: single gcc version 4.6.1 20110527 (prerelease) (GCC)
[Bug rtl-optimization/48830] [4.4/4.5/4.6 regression] unrecognized insn: storing invalid upper fp reg in SImode to stack
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48830 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Depends on|49226 | Summary|[4.4/4.5/4.6/4.7|[4.4/4.5/4.6 regression] |Regression] unrecognized|unrecognized insn: storing |insn: storing invalid upper |invalid upper fp reg in |fp reg in SImode to stack |SImode to stack --- Comment #14 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-06-01 20:27:06 UTC --- Fixed on the mainline by Richard. This is a reload patch so backporting it to the branches is IMO not really an option, at least in the immediate future. And I don't think that modifying CANNOT_CHANGE_MODE_CLASS is one either.
[Bug c++/44175] [C++0x] decltype sometimes cannot recurse
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44175 --- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2011-06-01 20:27:26 UTC --- Author: jason Date: Wed Jun 1 20:27:22 2011 New Revision: 174543 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174543 Log: PR c++/44175 * pt.c (template_args_equal): Handle one arg being NULL_TREE. (deduction_tsubst_fntype): Handle excessive non-infinite recursion. Added: trunk/gcc/testsuite/g++.dg/cpp0x/decltype28.C trunk/gcc/testsuite/g++.dg/cpp0x/decltype29.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c/49262] 3-yr-old infinite loop in dwarf2out.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49262 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.01 20:36:56 CC||ebotcazou at gcc dot ||gnu.org, jakub at gcc dot ||gnu.org Ever Confirmed|0 |1 --- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-06-01 20:36:56 UTC --- Jakub, this appears to come from one of your patches.
[Bug target/49263] SH Target: underutilized TST #imm, R0 instruction
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49263 --- Comment #1 from Oleg Endo oleg.e...@t-online.de 2011-06-01 20:42:00 UTC --- Created attachment 24412 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24412 Proposed Patch Although the patch gets the job done, programmer's sense tells me it is fishy, or at least pretty much brute forced cure of the symptoms, not the cause. It's my first GCC patch, so any feedback is highly appreciated. What I did was looking at the RTL, in particular the combine pass, identifying patterns it failed to find a shortcut (tst insn) for and adding them to the insn descriptions. I also had to expand the costs calculation of the AND instruction to cover AND, OR and XOR (on SH they are the same anyways), or else the cost of a matched replacement insn would result in a rejection in the combine pass.
[Bug target/48840] [4.4/4.5/4.7 Regression] assertion failure (old_frame_size == get_frame_size ()) in reload1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48840 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |ebotcazou at gcc dot |gnu.org |gnu.org --- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-06-01 20:51:57 UTC --- Investigating.
[Bug target/49257] -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 --- Comment #4 from Uros Bizjak ubizjak at gmail dot com 2011-06-01 20:52:13 UTC --- Created attachment 24413 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24413 Patch that wires up ix86_expand_convert_sign_didf_sse For some reason, ix86_expand_convert_sign_didf_sse is not wired into floatdi expander, so we never generate sse sequence for 32bit floatdi. Attached patch also includes my pathetic attempt to implement ix86_expand_convert_sign_disf_sse, but surely would need some help here...
[Bug rtl-optimization/48658] [4.3 Regression]: ICE in reload_cse_simplify_operands, at postreload.c:395
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48658 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC||ebotcazou at gcc dot ||gnu.org AssignedTo|unassigned at gcc dot |ebotcazou at gcc dot |gnu.org |gnu.org --- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-06-01 20:54:07 UTC --- Investigating.
[Bug target/49257] -mfpmath=sse generates x87 instructions on 32 bits OS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49257 Uros Bizjak ubizjak at gmail dot com changed: What|Removed |Added CC||rguenth at gcc dot gnu.org, ||ubizjak at gmail dot com --- Comment #5 from Uros Bizjak ubizjak at gmail dot com 2011-06-01 20:54:33 UTC --- (In reply to comment #4) Attached patch also includes my pathetic attempt to implement ix86_expand_convert_sign_disf_sse, but surely would need some help here... Let's ask the author of SSE expanders.
[Bug c++/49181] [C++0x] Error reporting routines re-entered
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49181 --- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2011-06-01 21:06:37 UTC --- I take it back - that works ok with latest trunk - I must have not updated something in the front end
[Bug c++/49264] New: Internal compiler error: segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49264 Summary: Internal compiler error: segmentation fault Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: eftax...@otenet.gr $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.0-10' --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-multiarch --with-multiarch-defaults=x86_64-linux-gnu --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 --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.6.1 20110526 (prerelease) (Debian 4.6.0-10) $ g++ -DHAVE_CONFIG_H -I. -I../.. -I../lglib -I../bamglib -I../Graphics -I../femlib-g -DNDEBUG -O3 -mmmx -msse -msse2 -DDRAWING -DBAMG_LONG_LONG -DNCHECKPTR -fPIC -c -fno-strict-aliasing -fwrapv -save-temps -Wall -Wextra -o array_long.o array_long.cpp In file included from array_tlp.hpp:34:0, from array_long.cpp:28: AFunction.hpp:1422:15: warning: unused parameter ‘i’ [-Wunused-parameter] AFunction.hpp:1454:11: warning: unused parameter ‘k’ [-Wunused-parameter] AFunction.hpp:1739:13: warning: unused parameter ‘r’ [-Wunused-parameter] AFunction.hpp:1739:13: warning: unused parameter ‘top’ [-Wunused-parameter] In file included from array_tlp.hpp:34:0, from array_long.cpp:28: AFunction.hpp:2233:19: warning: unused parameter ‘a’ [-Wunused-parameter] AFunction.hpp:2233:19: warning: unused parameter ‘b’ [-Wunused-parameter] In file included from array_tlp.hpp:34:0, from array_long.cpp:28: AFunction.hpp:2872:18: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] AFunction.hpp:2944:13: warning: unused parameter ‘l’ [-Wunused-parameter] AFunction.hpp:2944:13: warning: unused parameter ‘top’ [-Wunused-parameter] In file included from array_long.cpp:28:0: array_tlp.hpp: In function ‘void ArrayOperator() [with K = long int, Z = long int]’: array_long.cpp:135:31: instantiated from here array_tlp.hpp:871:12: warning: unused variable ‘knrp’ [-Wunused-variable] array_tlp.hpp:872:12: warning: unused variable ‘knr_’ [-Wunused-variable] array_tlp.hpp:883:12: warning: unused variable ‘knlp’ [-Wunused-variable] In file included from array_long.cpp:28:0: array_tlp.hpp: At global scope: array_tlp.hpp: In instantiation of ‘A fSubArrayc(const A, const char) [with A = KN_long int]’: array_tlp.hpp:887:6: instantiated from ‘void ArrayOperator() [with K = long int, Z = long int]’ array_long.cpp:135:31: instantiated from here array_tlp.hpp:229:3: warning: unused parameter ‘b’ [-Wunused-parameter] array_tlp.hpp: In instantiation of ‘A fSubArrayc(const A, const char) [with A = KNlong int*]’: array_tlp.hpp:890:6: instantiated from ‘void ArrayOperator() [with K = long int, Z = long int]’ array_long.cpp:135:31: instantiated from here array_tlp.hpp:229:3: warning: unused parameter ‘b’ [-Wunused-parameter] In file included from array_tlp.hpp:40:0, from array_long.cpp:28: ../femlib/RNM.hpp: In member function ‘void KNMR::resize(long int, long int) [with R = long int]’: array_resize.hpp:23:3: instantiated from ‘T* resize2(const ResizeT, const long int, const long int) [with T = KNMlong int]’ array_tlp.hpp:954:6: instantiated from ‘void ArrayOperator() [with K = long int, Z = long int]’ array_long.cpp:135:31: instantiated from here ../femlib/RNM.hpp:1203:10: warning: unused variable ‘lso’ [-Wunused-variable] In file included from array_tlp.hpp:42:0, from array_long.cpp:28: Operator.hpp: At global scope: Operator.hpp: In instantiation of ‘static R* Op3_pR, A, B, C::f(Stack, const A, const B, const C) [with R = if_arth_KN_long int, A = KN_long int, B = KN_long int, C = KN_long int, Stack = void*]’: AFunction.hpp:2127:69: instantiated from ‘AnyType OneTernaryOperator3T::Op::operator()(Stack) const [with T = Op3_pif_arth_KN_long int, KN_long int, KN_long int, KN_long int , AnyType = AnyTypeWithOutCheck, Stack = void*]’ array_long.cpp:167:1: instantiated from here Operator.hpp:585:13: warning: unused parameter ‘s’ [-Wunused-parameter] In file included from array_long.cpp:28:0: array_tlp.hpp: In static member function ‘static if_arth_KN_R* Op3_paccK::f(Stack, const KN_R, const K, const K) [with K = long int, Stack = void*]’:
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 21:45:37 UTC --- Author: jakub Date: Wed Jun 1 21:45:34 2011 New Revision: 174548 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174548 Log: PR debug/49250 * var-tracking.c (add_uses, add_stores): Don't call cselib_subst_to_values on ENTRY_VALUE. Modified: trunk/gcc/ChangeLog trunk/gcc/var-tracking.c
[Bug debug/49250] [4.7 Regression] ICE in set_slot_part, at var-tracking.c:6793
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49250 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-06-01 21:50:41 UTC --- Fixed.
[Bug middle-end/49261] [4.7 Regression] FAIL: gcc.dg/tree-ssa/forwprop-9.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49261 davidxl xinliangli at gmail dot com changed: What|Removed |Added CC||xinliangli at gmail dot com --- Comment #1 from davidxl xinliangli at gmail dot com 2011-06-01 22:27:59 UTC --- (In reply to comment #0) On Linux/ia32, revision 174538 gave FAIL: gcc.dg/tree-ssa/forwprop-9.c scan-tree-dump-times optimized = 1 2 Revision 174535 is OK. Right -- the counting of '= 1' is screwed up. David
[Bug c++/49264] Internal compiler error: segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49264 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011.06.01 23:25:53 Ever Confirmed|0 |1 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-06-01 23:25:53 UTC --- (In reply to comment #0) Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-4.6/README.Bugs for instructions. Or see http://gcc.gnu.org/bugs/
[Bug fortran/49265] New: Double colon in procedure-stmt (generic interface)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49265 Summary: Double colon in procedure-stmt (generic interface) Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: eh.toussa...@gmail.com In Fortran 2008 the (module) procedure statement in a generic interface can contain a double colon, according to R1206: R1206 procedure-stmt is [ MODULE ] PROCEDURE [ :: ] procedure-name-list When I try to compile the following module with gfortran 4.7-20110423 I get an error. module m1 implicit none interface foo module procedure :: bar end interface contains subroutine bar end subroutine end module $ gfortran -c -std=f2008 m1.f90 m1.f90:4.23: module procedure :: bar 1 Error: Syntax error in MODULE PROCEDURE statement at (1) (The '1' indicates the double colon as the location of the error.) If I remove the double colon the file compiles without error - which is expected, as the optional double colon didn't appear in the rule in previous versions of the standard. $ gcc -v Using built-in specs. COLLECT_GCC=d:\Programs\MinGW\gcc47\bin\gcc.exe COLLECT_LTO_WRAPPER=d:/programs/mingw/gcc47/bin/../libexec/gcc/i686-pc-mingw32/4 .7.0/lto-wrapper.exe Target: i686-pc-mingw32 Configured with: ../src/configure --prefix=/mingw --with-gmp=/mingw --with-mpfr= /mingw --with-mpc=/mingw --disable-nls --enable-languages=c,c++,fortran --enable -libgomp --disable-win32-registry Thread model: win32 gcc version 4.7.0 20110423 (experimental) (GCC)
[Bug fortran/49265] Double colon in procedure-stmt (generic interface)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49265 kargl at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.06.02 00:26:32 CC||kargl at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from kargl at gcc dot gnu.org 2011-06-02 00:26:32 UTC --- I have a patch that is regression testing. F95 has R1206 module-procedure-stmt is MODULE PROCEDURE procedure-name-list F2003 has R1206 procedure-stmt is [ MODULE ] PROCEDURE procedure-name-list F2008 has R1206 procedure-stmt is [ MODULE ] PROCEDURE [ :: ] procedure-name-list
[Bug debug/48354] internal compiler error: in splice_child_die, at dwarf2out.c:8064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48354 --- Comment #14 from Jan Hubicka hubicka at gcc dot gnu.org 2011-06-02 01:02:10 UTC --- Same get_typedef_die ICE with this patch, too.
[Bug tree-optimization/44897] -flto + ipa-sra misoptimize sqlite (non-plugin only)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897 --- Comment #20 from Jan Hubicka hubicka at gcc dot gnu.org 2011-06-02 01:12:12 UTC --- The problem as confirmed in Comment 9 no longer reproduce on mainline. So problem is either fixed or went latent. I am going to try 4.6.
[Bug libfortran/48906] Wrong rounding results with -m32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48906 Jerry DeLisle jvdelisle at gcc dot gnu.org changed: What|Removed |Added Attachment #24406|0 |1 is obsolete|| --- Comment #22 from Jerry DeLisle jvdelisle at gcc dot gnu.org 2011-06-02 03:57:49 UTC --- Created attachment 24414 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24414 Fixed revised patch This patch fixes my omissions on the last patch. In addition, studying the test case pr20755.f, I see that it has the wrong number of significant digits in the expected result. I have revised it now so that it passes. I have also added a new test case, to capture the various errors we found here while developing the patch Feel free to continue testing and if no new errors show up, I will submit to the gfortran list for approval. /me crosses his fingers. ;)
[Bug fortran/49255] -fcheck=pointer diagnoses too much: Passing NULL pointer to OPTIONAL argument
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49255 --- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2011-06-02 05:54:53 UTC --- The patch was not quite correct... Submitted patch: http://gcc.gnu.org/ml/fortran/2011-06/msg00015.html