[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998 --- Comment #5 from Markus Trippelsdorf --- (In reply to Jan Hubicka from comment #4) > I suppose VECtors do not like to grow to 0 size. THe following patch fixes > the ICE, does it also fixe you real testcases? > Index: ipa-devirt.c > === > --- ipa-devirt.c(revision 214303) > +++ ipa-devirt.c(working copy) > @@ -3822,6 +3845,9 @@ ipa_devirt (void) >int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0; >int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0; > > + if (!odr_types.length ()) > +return 0; > + >/* We can output -Wsuggest-final-methods and -Wsuggest-final-types > warnings. > This is implemented by setting up final_warning_records that are > updated > by get_polymorphic_call_targets. That patch would crash the minimal and empty testcase even without -Wsuggest-final-types. You probably mean: diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index 2e74ca61c508..acfd5d2fdede 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -3822,6 +3822,9 @@ ipa_devirt (void) int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0; int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0; + if (!odr_types_ptr) +return 0; + /* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings. This is implemented by setting up final_warning_records that are updated by get_polymorphic_call_targets.
[Bug ada/62236] New: : error: aggregate value used where an integer was expected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62236 Bug ID: 62236 Summary: : error: aggregate value used where an integer was expected Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: porton at narod dot ru Created attachment 33382 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33382&action=edit A program which doesn't compile The below program (its copy is also attached) does not compile. We suspect a compiler bug. $ gnatgcc -v Using built-in specs. COLLECT_GCC=gnatgcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper Target: i586-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnu Thread model: posix gcc version 4.9.1 (Debian 4.9.1-4) $ gnatgcc -c -g -O2 -gnat2012 -g -O0 -gnato -fstack-check -gnatVa special_test.adb : In function ‘Special_Test’: : error: aggregate value used where an integer was expected with Ada.Iterator_Interfaces; procedure Special_Test is type My_Description_Cursor is null record; function Has_Element (Position: My_Description_Cursor) return Boolean is (False); package My_Description_Iterators is new Ada.Iterator_Interfaces(My_Description_Cursor, Has_Element); type My_Description_Iterator is new My_Description_Iterators.Forward_Iterator with null record; overriding function First (Object: My_Description_Iterator) return My_Description_Cursor is (null record); overriding function Next (Object: My_Description_Iterator; Position: My_Description_Cursor) return My_Description_Cursor is (null record); My_Iterator: My_Description_Iterator; begin for C in My_Iterator loop null; end loop; end;
[Bug fortran/62125] Nested select type not accepted (rejects valid)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62125 Dominique d'Humieres changed: What|Removed |Added Status|WAITING |NEW --- Comment #4 from Dominique d'Humieres --- > FWIW, I have tried NAG, PGI, XLF and Cray. All of them accept the code. So marked as NEW.
[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998 --- Comment #4 from Jan Hubicka --- I suppose VECtors do not like to grow to 0 size. THe following patch fixes the ICE, does it also fixe you real testcases? Index: ipa-devirt.c === --- ipa-devirt.c(revision 214303) +++ ipa-devirt.c(working copy) @@ -3822,6 +3845,9 @@ ipa_devirt (void) int nmultiple = 0, noverwritable = 0, ndevirtualized = 0, nnotdefined = 0; int nwrong = 0, nok = 0, nexternal = 0, nartificial = 0; + if (!odr_types.length ()) +return 0; + /* We can output -Wsuggest-final-methods and -Wsuggest-final-types warnings. This is implemented by setting up final_warning_records that are updated by get_polymorphic_call_targets.
[Bug fortran/62125] Nested select type not accepted (rejects valid)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62125 Harald Anlauf changed: What|Removed |Added CC||anlauf at gmx dot de --- Comment #3 from Harald Anlauf --- (In reply to mrestelli from comment #2) > I can not say 100% that the code is correct, but at least reading 8.6 > "The SELECT TYPE Construct" of "The Fortran 2003 Handbook" I don't see > why it shouldn't. FWIW, I have tried NAG, PGI, XLF and Cray. All of them accept the code.
[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998 --- Comment #3 from Markus Trippelsdorf --- (In reply to Jan Hubicka from comment #2) > Markus, can you add attachment? Well, an empty testcase is enough. Or: % echo "int main () {}" | g++ -Wsuggest-final-types -O2 -x c++ -
[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998 --- Comment #2 from Jan Hubicka --- Markus, can you add attachment? LTO doesn't really know what C++ language flags was used. I guess because the flags are not on by default, prople will use it only if they actually want to use finals... Docs already mentions it is C++11...
[Bug middle-end/61913] ICE in common_handle_option with -Wodr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913 --- Comment #14 from Jan Hubicka --- The testcase still seems to work for me (with and without linker plugin). Without linker plugin collect2 will not execute LTO unless it can resolve symbols. You need to link with g++ (and have runtime or path) or use -r -nostdlib. Otherwise it fails with: /tmp/ccHKdyQQ.o:(.rodata._ZTI1A[_ZTI1A]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' and warnings are not output.
[Bug target/61956] problem linking cilk on RHEL4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61956 --- Comment #2 from Bruce Adams --- I have tried using a newer binutils (2.24) either installed before attempting to build gcc or in a combined tree build. The combined tree build complains that binutils/bfd is already configured when I run make bootstrap. mkdir -p -- ./bfd Configuring in ./bfd configure: creating cache ./config.cache [snip] checking for style of include used by make... GNU configure: error: source directory already configured; run "make distclean" there first make[4]: *** [configure-bfd] Error 1 make[4]: Leaving directory `/development/brucea/gcc/build/binutils' make[3]: *** [all] Error 2 make[3]: Leaving directory `/development/brucea/gcc/build/binutils' make[2]: *** [all-stage1-binutils] Error 2 make[2]: Leaving directory `/development/brucea/gcc/build' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/development/brucea/gcc/build' make: *** [bootstrap] Error 2 However, running configure using --disable-libcilkrts (in addition to the already required --disable-libsanitiser ) which is not documented results in a useable gcc 4.9.1 (with c++ working but presumably cilk++ broken).
[Bug sanitizer/61955] libsanitizer fails to compile on RHEL4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61955 --- Comment #3 from Bruce Adams --- Running configure using --disable-libcilkrts (in addition to --disable-libsanitiser) which is not documented results in a useable gcc 4.9.1 (with c++ working but presumably cilk++ broken).
[Bug sanitizer/61955] libsanitizer fails to compile on RHEL4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61955 --- Comment #2 from Bruce Adams --- Running configure using --disable-libcilkrts (in addition to --disable-libsanitiser) which is not documented results in a useable gcc 4.9.1 (with c++ working but presumably cilk++ broken).
[Bug target/62233] unnecessary shift instructions to prepare loop counter
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62233 --- Comment #1 from Andrew Pinski --- This again is related to bug 37451.
[Bug fortran/60550] [OOP] ICE on factory design pattern
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60550 Thomas Koenig changed: What|Removed |Added CC||tkoenig at gcc dot gnu.org --- Comment #2 from Thomas Koenig --- This works with current trunk. Resolve as FIXED and put the test case into the testsuite?
[Bug c++/62150] [5.0 regression] test case g++.dg/ext/arm-fp16/fp16-mangle-1.C failed on ARM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62150 Jason Merrill changed: What|Removed |Added Status|NEW |RESOLVED CC||jason at gcc dot gnu.org Resolution|--- |FIXED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #3 from Jason Merrill --- Fixed by r214177.
[Bug c++/62199] ICE with -Wlogical-not-parentheses
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62199 Marek Polacek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from Marek Polacek --- Fixed.
[Bug c++/62199] ICE with -Wlogical-not-parentheses
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62199 --- Comment #3 from Marek Polacek --- Author: mpolacek Date: Fri Aug 22 19:44:27 2014 New Revision: 214360 URL: https://gcc.gnu.org/viewcvs?rev=214360&root=gcc&view=rev Log: PR c++/62199 * doc/invoke.texi: Update -Wlogical-not-parentheses description. c-family/ * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't check for vector types. Drop LHS argument. * c-common.h (warn_logical_not_parentheses): Adjust. c/ * c-typeck.c (parser_build_binary_op): Adjust call to warn_logical_not_parentheses. cp/ * parser.c (cp_parser_binary_expression): Check each LHS if it's preceded with logical not. Adjust call to warn_logical_not_parentheses. testsuite/ * c-c++-common/pr62199.c: New test. * c-c++-common/pr62199-2.c: New test. * g++.dg/warn/Wparentheses-25.C: Drop XFAILs. Added: trunk/gcc/testsuite/c-c++-common/pr62199-2.c trunk/gcc/testsuite/c-c++-common/pr62199.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/c/ChangeLog trunk/gcc/c/c-typeck.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/warn/Wparentheses-25.C
[Bug c/61271] 10 * possible coding error with logical not (!)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61271 --- Comment #13 from Marek Polacek --- Author: mpolacek Date: Fri Aug 22 19:40:28 2014 New Revision: 214359 URL: https://gcc.gnu.org/viewcvs?rev=214359&root=gcc&view=rev Log: PR c/61271 * ira-color.c (coalesced_pseudo_reg_slot_compare): Wrap LHS of a comparison in parens. * lra-spills.c (pseudo_reg_slot_compare): Wrap LHS of a comparison in parens. Modified: trunk/gcc/ChangeLog trunk/gcc/ira-color.c trunk/gcc/lra-spills.c
[Bug ipa/61998] [5 Regression] ICE: Segmentation fault with -Wsuggest-final-types
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61998 Volker Reichelt changed: What|Removed |Added Keywords||ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed||2014-08-22 CC||reichelt at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Volker Reichelt --- Confirmed. I tripped over the same bug today.
[Bug fortran/31593] Invariant DO loop variables and subroutines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593 --- Comment #46 from Thomas Koenig --- (In reply to Dominique d'Humieres from comment #45) > Anything left to fix in this PR? Unfortunately yes... We still do not take advantage of the fact that the call to a subroutine cannot change the value of the do loop: ig25@linux-fd1f:~/Krempel/Do> cat call_unspec.f90 module foo contains subroutine output(i1,i2,i3,i4,i5) integer :: i1,i2,i3,i4,i5 print '(5(I0,:" "))',i1,i2,i3,i4,i5 end subroutine output end module foo program main use foo implicit none integer :: value integer :: p1, p2, p3, p4 integer :: i do value = 750,800 do i=1, 10 do p1 = 1, value-2 do p2 = p1 + 1, value - p1 do p3 = p2 + 1, (value - (p1 + p2))/2 p4 = value - p1 - p2 - p3 if (p1 * p2 * p3 * p4 == value * 100) & & call output (value, p1, p2, p3, p4) end do end do end do end do end do end program main ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_unspec.f90 && time ./a.out > /dev/null real0m4.586s user0m4.578s sys 0m0.000s ig25@linux-fd1f:~/Krempel/Do> cat call_intent.f90 module foo contains subroutine output(i1,i2,i3,i4,i5) integer, intent(in) :: i1,i2,i3,i4,i5 print '(5(I0,:" "))',i1,i2,i3,i4,i5 end subroutine output end module foo program main use foo implicit none integer :: value integer :: p1, p2, p3, p4 integer :: i do value = 750,800 do i=1, 10 do p1 = 1, value-2 do p2 = p1 + 1, value - p1 do p3 = p2 + 1, (value - (p1 + p2))/2 p4 = value - p1 - p2 - p3 if (p1 * p2 * p3 * p4 == value * 100) & & call output(value , p1 , p2 , p3 , p4) end do end do end do end do end do end program main ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_intent.f90 && time ./a.out > /dev/null real0m3.090s user0m3.089s sys 0m0.000s ig25@linux-fd1f:~/Krempel/Do> cat call_parens.f90 module foo contains subroutine output(i1,i2,i3,i4,i5) print '(5(I0,:" "))',i1,i2,i3,i4,i5 end subroutine output end module foo program main use foo implicit none integer :: value integer :: p1, p2, p3, p4 integer :: i do value = 750,800 do i=1, 10 do p1 = 1, value-2 do p2 = p1 + 1, value - p1 do p3 = p2 + 1, (value - (p1 + p2))/2 p4 = value - p1 - p2 - p3 if (p1 * p2 * p3 * p4 == value * 100) & & call output((value),(p1),(p2),(p3),(p4)) end do end do end do end do end do end program main ig25@linux-fd1f:~/Krempel/Do> gfortran -O2 call_parens.f90 && time ./a.out > /dev/null real0m3.134s user0m3.131s sys 0m0.000s
[Bug c++/57709] -Wshadow is too strict / has false positives
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57709 Manuel López-Ibáñez changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #14 from Manuel López-Ibáñez --- Fixed in gcc 5.0
[Bug c++/57709] -Wshadow is too strict / has false positives
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57709 --- Comment #13 from Manuel López-Ibáñez --- Author: manu Date: Fri Aug 22 19:12:46 2014 New Revision: 214357 URL: https://gcc.gnu.org/viewcvs?rev=214357&root=gcc&view=rev Log: gcc/cp/ChangeLog: 2014-08-22 Manuel López-Ibáñez PR c++/57709 * name-lookup.c (pushdecl_maybe_friend_1): Do not warn if a declaration shadows a function declaration, unless the former declares a function, pointer to function or pointer to member function, because this is a common and valid case in real-world code. * cp-tree.h (TYPE_PTRFN_P,TYPE_REFFN_P,TYPE_PTRMEMFUNC_P): Improve description. gcc/testsuite/ChangeLog: 2014-08-22 Manuel López-Ibáñez PR c++/57709 * g++.dg/Wshadow.C: New test. Added: trunk/gcc/testsuite/g++.dg/Wshadow.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/name-lookup.c trunk/gcc/testsuite/ChangeLog
[Bug c++/62129] [4.9/5 Regression] internal compiler error: in output_constant, at varasm.c:4755
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62129 --- Comment #4 from Jason Merrill --- Author: jason Date: Fri Aug 22 18:49:18 2014 New Revision: 214353 URL: https://gcc.gnu.org/viewcvs?rev=214353&root=gcc&view=rev Log: PR c++/62129 * class.c (outermost_open_class): Fix logic. * decl.c (complete_vars): Fix logic. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/decl.c
[Bug fortran/62135] ICE with invalid SELECT CASE selector
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62135 Steven Bosscher changed: What|Removed |Added Keywords|ice-on-invalid-code |ice-on-valid-code Status|ASSIGNED|RESOLVED CC|steven at gcc dot gnu.org | Resolution|--- |FIXED Assignee|unassigned at gcc dot gnu.org |steven at gcc dot gnu.org Target Milestone|--- |5.0 --- Comment #7 from Steven Bosscher --- gcc.gnu.org/r214351 Not a regression, so no reason to back-port. Thus, FIXED.
[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195 Michael Meissner changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Michael Meissner --- Fixed in subversion id 214329 for the trunk, 214336 for the 4.9 branch, and 214336 for the 4.8 branch.
[Bug ada/62235] New: Storage_Error in the compiler
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62235 Bug ID: 62235 Summary: Storage_Error in the compiler Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: porton at narod dot ru Created attachment 33381 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33381&action=edit Apply gnatchop to this file Apply gnatchop to all.chop (attached). $ gnatgcc -v Using built-in specs. COLLECT_GCC=gnatgcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper Target: i586-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnu Thread model: posix gcc version 4.9.1 (Debian 4.9.1-4) $ gnatgcc -c -fPIC -g -O2 -gnat2012 -g -O0 -gnato -fstack-check -gnatVa rdf-raptor-log.adb +===GNAT BUG DETECTED==+ | 4.9.1 (i586-linux-gnu) Storage_Error stack overflow or erroneous memory access| | Error detected at rdf-auxilary-handled_record.adb:1:1 [rdf-raptor-log.ads:32:4]| | Please submit a bug report; see http://gcc.gnu.org/bugs.html.| | Use a subject line meaningful to you and us to track the bug.| | Include the entire contents of this bug box in the report. | | Include the exact gcc-4.9 or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==+ Please include these source files with error report Note that list may not be accurate in some cases, so please double check that the problem can still be reproduced with the set of files listed. Consider also -gnatd.n switch (see debug.adb). rdf-raptor-log.adb rdf-raptor-log.ads rdf-raptor.ads rdf.ads rdf-auxilary.ads rdf-auxilary-handled_record.ads rdf-raptor-uri.ads rdf-raptor-world.ads rdf-auxilary-limited_handled_record.ads rdf-raptor-iostream.ads rdf-raptor-term.ads rdf-raptor-namespaces_stacks.ads rdf-raptor-namespaces.ads rdf-raptor-statement.ads rdf-raptor-memory.ads rdf-auxilary-handled_record.adb compilation abandoned
[Bug fortran/62135] ICE with invalid SELECT CASE selector
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62135 --- Comment #6 from Steven Bosscher --- Author: steven Date: Fri Aug 22 18:43:50 2014 New Revision: 214351 URL: https://gcc.gnu.org/viewcvs?rev=214351&root=gcc&view=rev Log: fortran/ PR fortran/62135 * resolve.c (resolve_select): Fix list traversal in case the last element of the CASE list was dropped as unreachable code. testsuite/ PR fortran/62135 * gfortran.dg/pr62135.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr62135.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/61913] ICE in common_handle_option with -Wodr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913 --- Comment #13 from Manuel López-Ibáñez --- (In reply to Jan Hubicka from comment #12) > > So my tree shows it by default. I am at a conference and have to go for > talks, I cannot reproduce the above in trunk. Is it that a testcase that only works on your working copy/branch? Do you have one that works on current trunk?
[Bug testsuite/62234] New: warnings/errors from LTO cannot be tested
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62234 Bug ID: 62234 Summary: warnings/errors from LTO cannot be tested Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: manu at gcc dot gnu.org As discussed here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61913#c11 there is no way to test warnings/errors produced by LTO, so whatever we add is due to get broken sooner or later (or be broken from the start like PR61913 shows). Please, can someone with dejagnu foo fix this?
[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195 --- Comment #4 from Michael Meissner --- Author: meissner Date: Fri Aug 22 17:53:00 2014 New Revision: 214340 URL: https://gcc.gnu.org/viewcvs?rev=214340&root=gcc&view=rev Log: 2014-08-22 Michael Meissner Backport fro mainline 2014-08-22 Michael Meissner PR target/62195 * doc/md.texi (Machine Constraints): Update PowerPC wi constraint documentation to state it is only for VSX operations. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi constraint only active if VSX. * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions. (lfiwzx): Likewise. Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/config/rs6000/constraints.md branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.md branches/gcc-4_8-branch/gcc/doc/md.texi
[Bug target/62233] New: unnecessary shift instructions to prepare loop counter
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62233 Bug ID: 62233 Summary: unnecessary shift instructions to prepare loop counter Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: carrot at google dot com Target: powerpc64le Compile following source code with options -m64 -mcpu=power8 -O2 typedef struct { int l; int b[258]; } S; void clear (S* s ) { int i; int len = s->l; for (i = 0; i <= len; i++) s->b[i] = 0; } Trunk gcc generates: clear: lwz 9,0(3) cmpwi 7,9,0 extsw 9,9 bltlr- 7 sldi 9,9,2 // A li 10,0 srdi 9,9,2 // B addi 9,9,1 mtctr 9 .p2align 4,,15 .L3: stwu 10,4(3) bdnz .L3 blr Instruction A shift loop counter left by 2 bits, instruction B shift loop counter right by 2 bits, so they do nothing when combined together, and should be removed.
[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195 --- Comment #3 from Michael Meissner --- Author: meissner Date: Fri Aug 22 17:30:39 2014 New Revision: 214336 URL: https://gcc.gnu.org/viewcvs?rev=214336&root=gcc&view=rev Log: 2014-08-22 Michael Meissner Backport fro mainline 2014-08-22 Michael Meissner PR target/62195 * doc/md.texi (Machine Constraints): Update PowerPC wi constraint documentation to state it is only for VSX operations. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi constraint only active if VSX. * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions. (lfiwzx): Likewise. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/rs6000/constraints.md branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.c branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.md branches/gcc-4_9-branch/gcc/doc/md.texi
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 --- Comment #6 from tower120 --- Well, classical "static_asssert is not a function/variable/etc" would be enough for me. Because "there are no arguments to 'static_asssert' that depend on a template parameter" means that there IS such a function, but it does not accept current parameters set (IMHO).
[Bug c++/62129] [4.9/5 Regression] internal compiler error: in output_constant, at varasm.c:4755
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62129 --- Comment #3 from Jason Merrill --- Author: jason Date: Fri Aug 22 16:58:25 2014 New Revision: 214333 URL: https://gcc.gnu.org/viewcvs?rev=214333&root=gcc&view=rev Log: PR c++/62129 * class.c (outermost_open_class): New. * cp-tree.h: Declare it. * decl.c (maybe_register_incomplete_var): Use it. (complete_vars): Handle any constant variable. * expr.c (cplus_expand_constant): Handle CONSTRUCTOR. Added: trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrmem3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/expr.c
[Bug target/62195] [5 Regression] Invalid mnemonic 'xxlxor' on powerpc-apple-darwin9 with -m64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62195 --- Comment #2 from Michael Meissner --- Author: meissner Date: Fri Aug 22 16:47:15 2014 New Revision: 214329 URL: https://gcc.gnu.org/viewcvs?rev=214329&root=gcc&view=rev Log: 2014-08-22 Michael Meissner PR target/62195 * doc/md.texi (Machine Constraints): Update PowerPC wi constraint documentation to state it is only for VSX operations. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi constraint only active if VSX. * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions. (lfiwzx): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/constraints.md trunk/gcc/config/rs6000/rs6000.c trunk/gcc/config/rs6000/rs6000.md trunk/gcc/doc/md.texi
[Bug target/61407] Build errors on latest OS X 10.10 Yosemite with Xcode 6 on GCC 4.8.3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407 --- Comment #24 from Dominyk Tiller --- (In reply to James Clarke from comment #16) > Created attachment 33180 [details] > Patch For GCC 4.9.1 On Yosemite > > Requires DP 4 (or above), as I have also removed the fix for Availability.h > which was only needed in DP 3 and below. It looks like gcc are gonna require someone to submit this patch to their mailing list before we see any further activity on this. Could you possibly do that? Would massively appreciate it. More details are here: https://gcc.gnu.org/contribute.html
[Bug fortran/62215] Updating .mod files on Win32 fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62215 Tobias Burnus changed: What|Removed |Added CC||burnus at gcc dot gnu.org --- Comment #7 from Tobias Burnus --- (In reply to Janne Blomqvist from comment #6) > So please go ahead and commit the patch to trunk and 4.9. It's fine from my side as well. > As for the #ifdef stuff, [...] > That would save an extra syscall on POSIX systems, but I don't think it > really matters, so do as you see fit. As it is only in the compiler and not in the libgfortran library (as I somehow thought it would be), simply reinstating the unlink call is probably best.
[Bug c++/52830] ICE: "canonical types differ for identity types ..." when attempting SFINAE with member type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52830 David Binderman changed: What|Removed |Added CC||dcb314 at hotmail dot com --- Comment #3 from David Binderman --- I see a similar ice on trunk 20140820 /home/dcb/rpmbuild/BUILD/aqsis-1.8.2/libs/riutil/ricxx_cache.h:192:50: internal compiler error: canonical types differ for identical types RtConstMatrix and RtBasis {aka RtConstMatrix} operator RtConstMatrix&() const { return m_data; } ^ 0x7ae7e3 comptypes(tree_node*, tree_node*, int) ../../src/trunk/gcc/cp/typeck.c:1407 0x7abb4b structural_comptypes ../../src/trunk/gcc/cp/typeck.c:1341 0x7b1b16 comptypes(tree_node*, tree_node*, int) ../../src/trunk/gcc/cp/typeck.c:1399
[Bug c++/62232] New: -Wnon-virtual-dtor shouldn't warn on final classes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62232 Bug ID: 62232 Summary: -Wnon-virtual-dtor shouldn't warn on final classes Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Please consider: markus@x4 ~ % cat destruct.ii class base { protected: ~base () {} virtual void foo (){}; }; class derive final : public base { }; markus@x4 ~ % clang++ -Wnon-virtual-dtor -c -std=c++11 destruct.ii markus@x4 ~ % g++ -Wnon-virtual-dtor -c -std=c++11 destruct.ii destruct.ii:7:7: warning: ‘class derive’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] class derive final : public base ^ We shouldn't warn in this case.
[Bug target/62231] New: Exception handling broken on powerpc-e500v2-linux-gnuspe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62231 Bug ID: 62231 Summary: Exception handling broken on powerpc-e500v2-linux-gnuspe Product: gcc Version: 4.8.3 Status: UNCONFIRMED Severity: critical Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: manfred.rudigier at omicron dot at Problem: The GCC exception handling mechanism for powerpc-e500v2-linux-gnuspe seems to be broken. Every programs abort as soon as the first exception is thrown. I can confirm that the exception handling works on at least 4.6.3 and 4.7.4, however on 4.8.3 it does not. Example program to reproduce the problem: - #include #include void doThrow() { printf("Throwing now\n"); throw std::exception(); } int main(int argc, char **argv) { try { doThrow(); } catch (std::exception& e) { printf("Caught exception\n"); } return 0; } GDB output: --- Program received signal SIGABRT, Aborted. 0x0fc0c858 in raise () from /lib/libc.so.6 (gdb) bt #0 0x0fc0c858 in raise () from /lib/libc.so.6 #1 0x0fc117c4 in abort () from /lib/libc.so.6 #2 0x0fd78250 in ?? () from /lib/libgcc_s.so.1 #3 0x0fd78960 in _Unwind_RaiseException () from /lib/libgcc_s.so.1 #4 0x0ff33e0c in __cxa_throw () from /lib/libstdc++.so.6 #5 0x17dc in doThrow() () #6 0x1800 in main () (gdb) GCC version: The compiler has been compiled with crosstool-ng: ./powerpc-e500v2-linux-gnuspe-gcc -v Using built-in specs. COLLECT_GCC=./powerpc-e500v2-linux-gnuspe-gcc COLLECT_LTO_WRAPPER=/opt/x-tools/tron/4.8.3/powerpc-e500v2-linux-gnuspe/bin/../libexec/gcc/powerpc-e500v2-linux-gnuspe/4.8.3/lto-wrapper Target: powerpc-e500v2-linux-gnuspe Configured with: /home/manrud00/crosstool-ng/.build/src/gcc-4.8.3/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=powerpc-e500v2-linux-gnuspe --prefix=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe --with-sysroot=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe/powerpc-e500v2-linux-gnuspe/sysroot --enable-languages=c,c++ --with-cpu=8548 --with-tune=8548 --with-pkgversion='crosstool-NG hg+default-99029fac116b' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-mpfr=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-mpc=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-isl=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-cloog=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-libelf=/home/manrud00/crosstool-ng/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --disable-nls --disable-multilib --with-local-prefix=/home/manrud00/x-tools/powerpc-e500v2-linux-gnuspe/powerpc-e500v2-linux-gnuspe/sysroot --enable-c99 --enable-long-long --enable-e500_double --with-long-double-128 Thread model: posix gcc version 4.8.3
[Bug fortran/62049] Negative count_rate when calling system_clock
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62049 Steven Bosscher changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2014-08-22 CC||steven at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Steven Bosscher --- (In reply to Paul Martin from comment #0) Looks like a bug, yes. The intrinsic subroutine appears to be resolved to _gfortran_system_clock_8. That should be _gfortran_system_clock_4 if your "crate" variable is integer(kind=4). Can you please compile the following and report back the output here? - 8< - (t.f90) PROGRAM clock IMPLICIT NONE INTEGER(kind=4) :: crate4 INTEGER(kind=8) :: crate8 CALL system_clock (count_rate = crate4) WRITE(*,*) crate4 CALL system_clock (count_rate = crate8) WRITE(*,*) crate8 END PROGRAM clock - 8< - $ gfortran -Wall t.f90 -fdump-parse-tree
[Bug c++/60517] warning/error for taking address of member of a temporary object
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60517 --- Comment #17 from Marc Glisse --- (In reply to Manuel López-Ibáñez from comment #16) > Note that we still do not warn for my original testcase. I didn't close the PR ;-) There are patches around that may need more work, see these discussions (I picked a random message for the link): https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00376.html https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00422.html (apparently the patches do manage to warn on your original testcase, at least I said so in one of the emails)
[Bug ada/62230] New: Legal program rejected, RM 4.3.2(3, 5/3), ancestor_part can not be expression against error message by compiler itself
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62230 Bug ID: 62230 Summary: Legal program rejected, RM 4.3.2(3, 5/3), ancestor_part can not be expression against error message by compiler itself Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: demoonlit at panathenaia dot halfmoon.jp Created attachment 33380 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33380&action=edit minimal bug triggering source code GNAT rejects any expressions implying aggregate for ancestor_part. For example: (Please see the attachment file, also) type T1 is limited new Ada.Finalization.Limited_Controlled with null record; type T2 is new T1 with null record; X : T2 := (T1 with null record); -- OK Z : T2 := (T1'(Ada.Finalization.Limited_Controlled with null record) with null record); -- ERROR GNAT outputs: main.adb:23:09: limited ancestor part must be aggregate or function call It seems for me that aggregate expression is allowed into ancestor_part according to the error message outputted by GNAT itself. But, it is not. And, RM 4.3.2(3, 5/3) allows it explicitly.
[Bug c++/60517] warning/error for taking address of member of a temporary object
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60517 Manuel López-Ibáñez changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-08-22 Ever confirmed|0 |1 --- Comment #16 from Manuel López-Ibáñez --- Note that we still do not warn for my original testcase.
[Bug fortran/62226] Encode CPP options in lang.opt
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62226 Steven Bosscher changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-08-22 Ever confirmed|0 |1
[Bug c/62228] gcc : expected identifier before numeric constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228 Ankzz changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Ankzz --- (In reply to Marek Polacek from comment #1) > Huh? Why do you think it is a bug? Got it ... Yup .. its not a bug. I would mark it resolved.
[Bug c/62228] gcc : expected identifier before numeric constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228 --- Comment #2 from Ankzz --- Why do you think its not a bug? It would be better if you can explain me the reason why level should be replaced with a "0". In the same macro if I replace "level" with "_level", #define LOG(module, level, msg) \ if ( (module)->_level ) \ msg_log(msg) I get the pre-processed code as : if ( (&module)->_level ) msg_log("Ooops\n");
[Bug c++/62229] New: Broken uniform initialization when using std::string ctor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62229 Bug ID: 62229 Summary: Broken uniform initialization when using std::string ctor Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tnozicka at gmail dot com Hi, IMHO this two examples should have same result, but ... // A std::string s1{10, '\0'}; std::cout << s1.length() << std::endl; // prints 2 - wrong // B std::string s2(10, '\0'); std::cout << s2.length() << std::endl; // prints 10 - right Probable reason is, that A is preferring ctor version with std::initializer_list, but that version (AFAIK) should be invoked as: std::string s1{{10, '\0'}}; === g++ flags === -std=c++14 -Wall -Wextra === configure === Using built-in specs. COLLECT_GCC=/opt/szn/bin/g++-4.9 COLLECT_LTO_WRAPPER=/opt/szn/lib/gcc/x86_64-linux-gnu/4.9.1/lto-wrapper Target: x86_64-linux-gnu Configured with: /home/tomas/packages/gcc/gcc-4.9.1/configure --prefix=/opt/szn --program-suffix=-4.9 --enable-languages=c++ --disable-multilib --enable-shared --enable-threads=posix --enable-checking=release --enable-__cxa_atexit --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --with-tune=generic --enable-libstdcxx-time=yes --enable-libstdcxx-debug --enable-version-specific-runtime-libs --enable-objc-gc --enable-clocale=gnu --disable-install-libiberty --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --libdir=/opt/szn/lib --libexecdir=/opt/szn/lib --infodir=/opt/szn/share/info-gcc-4.9 --localedir=/opt/szn/share/locale-gcc-4.9 --mandir=/opt/szn/share/man-gcc-4.9 --with-gxx-include-dir=/opt/szn/include/c++/4.9 Thread model: posix gcc version 4.9.1 (GCC)
[Bug c/62228] gcc : expected identifier before numeric constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228 Marek Polacek changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org Severity|major |normal --- Comment #1 from Marek Polacek --- Huh? Why do you think it is a bug?
[Bug c/62228] gcc : expected identifier before numeric constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228 Ankzz changed: What|Removed |Added CC||ankzzdev at gmail dot com Severity|normal |major
[Bug c/62228] New: gcc : expected identifier before numeric constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62228 Bug ID: 62228 Summary: gcc : expected identifier before numeric constant Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: ankzzdev at gmail dot com Created attachment 33379 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33379&action=edit Header and C file used to reproduce this issue I have attached the header file and c-code (t.c and t.h) used to reproduce this issue. # make t cc t.c -o t t.c: In function 'main': t.c:8: error: expected identifier before numeric constant make: *** [t] Error 1 Error is due to this piece of code in multi-line macro. #define LOG(module, level, msg) \ if ( (module)->level ) \ msg_log(msg) While verifying the pre-processed output of the c-code: # gcc -E t.c ... int main() { struct logger module; if ( (&module)->0 ) msg_log("Ooops\n"); return 0; } # cat t.c #include #include "t.h" int main() { struct logger module; LOG(&module, 0, "Ooops\n"); return 0; } Here we can see the Macro LOG is wrongly getting interpreted. LOG(&module, 0, "Ooops\n"); ==> if ( (&module)->0 ) msg_log("Ooops\n"); This is happening as "level" in macro is getting replaced with a value "0". Leading to the issue: expected identifier before numeric constant
[Bug c++/62227] New: Templated move not elided
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62227 Bug ID: 62227 Summary: Templated move not elided Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: roman.perepelitsa at gmail dot com #include struct S { S(int) {} S(const S&) = default; // (1) template // (2) S(S&& other) { puts("move"); } }; int main() { S s = 42; (void)s; } This program unexpectedly prints "move". The expected output is empty (move is elided). The program prints nothing (as expected) if any of the following is done: - Line (1) is removed. - Line (2) is removed. - The program is compiled with clang.
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 Manuel López-Ibáñez changed: What|Removed |Added CC||manu at gcc dot gnu.org --- Comment #5 from Manuel López-Ibáñez --- The spell-checker would have been helpful here. It would have said: did you mean 'static_assert'?
[Bug middle-end/61876] Converting __builtin_round + cast into __builtin_lround is not always equivalent in regards to math errno
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61876 --- Comment #12 from yroux at gcc dot gnu.org --- Author: yroux Date: Fri Aug 22 10:48:22 2014 New Revision: 214312 URL: https://gcc.gnu.org/viewcvs?rev=214312&root=gcc&view=rev Log: 2014-08-22 Yvan Roux Backport from trunk r212989, r213628. 2014-08-05 Kyrylo Tkachov * convert.c (convert_to_integer): Guard transformation to lrint by -fno-math-errno. 2014-07-24 Kyrylo Tkachov PR middle-end/61876 * convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast when flag_errno_math is on. Modified: branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro branches/linaro/gcc-4_9-branch/gcc/convert.c
[Bug debug/62225] DW_AT_location for local variable is missing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62225 --- Comment #2 from Yao Qi --- arm-none-eabi gcc mainline (4.10.0 20140818) and 4.9.2 has this problem too. The test case is compiled with -mthumb flag. <1><71>: Abbrev Number: 6 (DW_TAG_subprogram) <72> DW_AT_external: 1 <72> DW_AT_name: (indirect string, offset: 0x6a): wack <76> DW_AT_decl_file : 1 <77> DW_AT_decl_line : 13 <78> DW_AT_prototyped : 1 <78> DW_AT_type: <0xc4> <7c> DW_AT_low_pc : 0x8214 <80> DW_AT_high_pc : 0x44 <84> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <86> DW_AT_GNU_all_tail_call_sites: 1 <86> DW_AT_sibling : <0xc4> <2><8a>: Abbrev Number: 5 (DW_TAG_formal_parameter) <8b> DW_AT_name: u <8d> DW_AT_decl_file : 1 <8e> DW_AT_decl_line : 13 <8f> DW_AT_type: <0x25> <93> DW_AT_location: 6 byte block: 50 93 4 51 93 4(DW_OP_reg0 (r0); DW_OP_piece: 4; DW_OP_reg1 (r1); DW_OP_piece: 4) <2><9a>: Abbrev Number: 5 (DW_TAG_formal_parameter) <9b> DW_AT_name: v <9d> DW_AT_decl_file : 1 <9e> DW_AT_decl_line : 13 <9f> DW_AT_type: <0x25> DW_AT_location: 6 byte block: 52 93 4 53 93 4(DW_OP_reg2 (r2); DW_OP_piece: 4; DW_OP_reg3 (r3); DW_OP_piece: 4) <2>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name: l DW_AT_decl_file : 1 DW_AT_decl_line : 15 DW_AT_type: <0x25> DW_AT_location: 6 byte block: 54 93 4 55 93 4(DW_OP_reg4 (r4); DW_OP_piece: 4; DW_OP_reg5 (r5); DW_OP_piece: 4) <2>: Abbrev Number: 8 (DW_TAG_variable) DW_AT_name: r DW_AT_decl_file : 1 DW_AT_decl_line : 15 DW_AT_type: <0x25> <2>: Abbrev Number: 0
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 --- Comment #4 from tower120 --- Typo indeed. I'm so sorry.
[Bug fortran/62226] New: Encode CPP options in lang.opt
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62226 Bug ID: 62226 Summary: Encode CPP options in lang.opt Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: manu at gcc dot gnu.org Created attachment 33378 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33378&action=edit patch to handle CPP() per language I recently added a new feature to .opt files to encode CPP options and handle them transparently. Unfortunately, it does not work with Fortran because Fortran does not use the common options machinery. Steps to fix: * Fortran should use the common options machinery (at least for those options that are CPP options). * Apply the attached patch. * Add a call to Fortran_cpp_handle_option_auto and init_global_opts_from_cpp somewhere appropriate in the Fortran FE. Features like #pragma diagnostics and -fdiagnostics-show-option rely on this, so it is a prerequisite for fixing PR44054.
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 --- Comment #3 from Marc Glisse --- Typo, check the exact spelling of what g++ is complaining about.
[Bug fortran/61234] Warn for use-stmt without explicit only-list.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61234 Joost VandeVondele changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |FIXED --- Comment #7 from Joost VandeVondele --- fixed
[Bug fortran/61234] Warn for use-stmt without explicit only-list.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61234 --- Comment #6 from vondele at gcc dot gnu.org --- Author: vondele Date: Fri Aug 22 10:14:50 2014 New Revision: 214311 URL: https://gcc.gnu.org/viewcvs?rev=214311&root=gcc&view=rev Log: 2014-08-22 Joost VandeVondele * gfortran.dg/use_without_only_1.f90: New test. 2014-08-22 Joost VandeVondele PR fortran/61234 * lang.opt (Wuse-without-only): New flag. * gfortran.h (gfc_option_t): Add it. * invoke.texi: Document it. * module.c (gfc_use_module): Warn if needed. * options.c (gfc_init_options,gfc_handle_option): Init accordingly. Added: trunk/gcc/testsuite/gfortran.dg/use_without_only_1.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/invoke.texi trunk/gcc/fortran/lang.opt trunk/gcc/fortran/module.c trunk/gcc/fortran/options.c trunk/gcc/testsuite/ChangeLog
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 --- Comment #2 from tower120 --- No, I compile it with -std=c++1y Here, live example http://ideone.com/KsGrnH (though that is gcc-4.8.1)
[Bug other/62008] CilkPlus Array Notation ICE in build_array_notation_ref when trying to build a multidimensional array from a pointer.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62008 --- Comment #2 from Kirill Yukhin --- Author: kyukhin Date: Fri Aug 22 09:40:13 2014 New Revision: 214306 URL: https://gcc.gnu.org/viewcvs?rev=214306&root=gcc&view=rev Log: PR other/62008 gcc/c/ * c-parser.c (c_parser_array_notation): Check for correct type of an array added. gcc/cp/ * cp-array-notation.c (build_array_notation_ref): Added correct handling of case with incorrect array. gcc/testsuite/ * c-c++-common/cilk-plus/AN/pr62008.c: New test. Added: branches/gcc-4_9-branch/gcc/testsuite/c-c++-common/cilk-plus/AN/pr62008.c Modified: branches/gcc-4_9-branch/gcc/c/ChangeLog branches/gcc-4_9-branch/gcc/c/c-parser.c branches/gcc-4_9-branch/gcc/cp/ChangeLog branches/gcc-4_9-branch/gcc/cp/cp-array-notation.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
[Bug other/62008] CilkPlus Array Notation ICE in build_array_notation_ref when trying to build a multidimensional array from a pointer.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62008 --- Comment #1 from Kirill Yukhin --- Author: kyukhin Date: Fri Aug 22 09:37:01 2014 New Revision: 214305 URL: https://gcc.gnu.org/viewcvs?rev=214305&root=gcc&view=rev Log: PR other/62008 gcc/c/ * c-parser.c (c_parser_array_notation): Check for correct type of an array added. gcc/cp/ * cp-array-notation.c (build_array_notation_ref): Added correct handling of case with incorrect array. gcc/testsuite/ * c-c++-common/cilk-plus/AN/pr62008.c: New test. Added: trunk/gcc/testsuite/c-c++-common/cilk-plus/AN/pr62008.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-parser.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-array-notation.c trunk/gcc/testsuite/ChangeLog
[Bug debug/62225] DW_AT_location for local variable is missing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62225 --- Comment #1 from Andrew Pinski --- I bet if you remove register, it will work. Or compile with variable tracking turned on.
[Bug debug/62225] New: DW_AT_location for local variable is missing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62225 Bug ID: 62225 Summary: DW_AT_location for local variable is missing Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: qiyao at gcc dot gnu.org $ cat 1.c /* typedef long long TYPE; */ /* typedef double TYPE; */ /* typedef float TYPE; */ typedef long double TYPE; TYPE add (register TYPE u, register TYPE v) { return u + v; } int wack (register TYPE u, register TYPE v) { register TYPE l = u, r = v; l = add (l, r); return (int) (l + r); } int main (void) { wack (-1, -2); return 0; } - Compile it with i686-pc-linux-gnu gcc mainline (4.10.0 20140611), $ gcc 1.c -g -O0 -o mainline.exe Then, check the debug information, <1><67>: Abbrev Number: 6 (DW_TAG_subprogram) <68> DW_AT_external: 1 <68> DW_AT_name: (indirect string, offset: 0x88): wack <6c> DW_AT_decl_file : 1 <6d> DW_AT_decl_line : 13 <6e> DW_AT_prototyped : 1 <6e> DW_AT_type: <0xab> <72> DW_AT_low_pc : 0x80483a8 <76> DW_AT_high_pc : 0x47 <7a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <7c> DW_AT_GNU_all_tail_call_sites: 1 <7c> DW_AT_sibling : <0xab> <2><80>: Abbrev Number: 5 (DW_TAG_formal_parameter) <81> DW_AT_name: u <83> DW_AT_decl_file : 1 <84> DW_AT_decl_line : 13 <85> DW_AT_type: <0x25> <89> DW_AT_location: 2 byte block: 91 0 (DW_OP_fbreg: 0) <2><8c>: Abbrev Number: 5 (DW_TAG_formal_parameter) <8d> DW_AT_name: v <8f> DW_AT_decl_file : 1 <90> DW_AT_decl_line : 13 <91> DW_AT_type: <0x25> <95> DW_AT_location: 2 byte block: 91 c (DW_OP_fbreg: 12) <2><98>: Abbrev Number: 7 (DW_TAG_variable) <99> DW_AT_name: l <9b> DW_AT_decl_file : 1 <9c> DW_AT_decl_line : 15 <9d> DW_AT_type: <0x25> <2>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name: r DW_AT_decl_file : 1 DW_AT_decl_line : 15 DW_AT_type: <0x25> <2>: Abbrev Number: 0 DW_AT_location is missing for 'l' and 'r'. This problem also exists on 4.9.2 and 4.8.3, but 4.7.3 is correct. <1><6c>: Abbrev Number: 6 (DW_TAG_subprogram) <6d> DW_AT_external: 1 <6e> DW_AT_name: (indirect string, offset: 0x5d): wack <72> DW_AT_decl_file : 1 <73> DW_AT_decl_line : 13 <74> DW_AT_prototyped : 1 <75> DW_AT_type: <0xbb> <79> DW_AT_low_pc : 0x80483f9 <7d> DW_AT_high_pc : 0x8048443 <81> DW_AT_frame_base : 0x38(location list) <85> DW_AT_GNU_all_tail_call_sites: 1 <86> DW_AT_sibling : <0xbb> <2><8a>: Abbrev Number: 5 (DW_TAG_formal_parameter) <8b> DW_AT_name: u <8d> DW_AT_decl_file : 1 <8e> DW_AT_decl_line : 13 <8f> DW_AT_type: <0x25> <93> DW_AT_location: 2 byte block: 75 8 (DW_OP_breg5 (ebp): 8) <2><96>: Abbrev Number: 5 (DW_TAG_formal_parameter) <97> DW_AT_name: v <99> DW_AT_decl_file : 1 <9a> DW_AT_decl_line : 13 <9b> DW_AT_type: <0x25> <9f> DW_AT_location: 2 byte block: 75 14 (DW_OP_breg5 (ebp): 20) <2>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name: l DW_AT_decl_file : 1 DW_AT_decl_line : 15 DW_AT_type: <0x25> DW_AT_location: 2 byte block: 75 6c (DW_OP_breg5 (ebp): -20) <2>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name: r DW_AT_decl_file : 1 DW_AT_decl_line : 15 DW_AT_type: <0x25> DW_AT_location: 2 byte block: 75 60 (DW_OP_breg5 (ebp): -32) <2>: Abbrev Number: 0 This test case is modified a little from GDB test gdb.base/store.c, and this PR causes some fails in gdb.base/store.exp. The problem also exists if I typedef TYPE by long long, double, or float.
[Bug c++/62223] error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 Marc Glisse changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Marc Glisse --- I am going to take a guess that you forgot to specify -std=c++11 or equivalent?
[Bug c++/62224] Possible regression in gcc-4.9-20140820
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62224 --- Comment #1 from Chris Clayton --- Created attachment 33377 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33377&action=edit Preprocessed source file ETOOBIG on uncompressed attachment. Now compressed with xz.
[Bug c++/62224] New: Possible regression in gcc-4.9-20140820
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62224 Bug ID: 62224 Summary: Possible regression in gcc-4.9-20140820 Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: chris2553 at googlemail dot com Building qt-creator-3.2.0 with this week's 4.9.2 (21040820) snapshot fails. Building it with last week's 4.9.2 (20140813) snapshot succeeds. My system is a 32 bit user space running on a 64 bit 3.16.1 kernel built from source. The hardware is a Fujitsu Lifebook AH531 laptop with 8GB RAM. The gcc build is configured with: --prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu --infodir=/usr/info --mandir=/usr/man --enable-shared --disable-static --with-system-zlib --enable-threads=posix --enable-haifa --enable-languages=c,c++ --enable-long-long --enable-namespaces --enable-multilib --with-gnu-as --with-gnu-ld --with-system-zlib --without-x --disable-werror --disable-checking --enable-__cxa_atexit --disable-nls --without-included-gettext i386-pc-linux The compiler output is: cd cppeditor/ && make -f Makefile make[3]: Entering directory '/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/src/plugins/cppeditor' rm -f libCppEditor.so g++ -Wl,-z,origin '-Wl,-rpath,$ORIGIN:$ORIGIN/..' -Wl,--no-undefined -Wl,-O1 -shared -Wl,-soname,libCppEditor.so -o libCppEditor.so .obj/release-shared/cppautocompleter.o .obj/release-shared/cppcanonicalsymbol.o .obj/release-shared/cppclasswizard.o .obj/release-shared/cppcodemodelinspectordialog.o .obj/release-shared/cppdocumentationcommenthelper.o .obj/release-shared/cppeditor.o .obj/release-shared/cppeditordocument.o .obj/release-shared/cppeditoroutline.o .obj/release-shared/cppeditorplugin.o .obj/release-shared/cppelementevaluator.o .obj/release-shared/cppfilewizard.o .obj/release-shared/cppfollowsymbolundercursor.o .obj/release-shared/cppfunctiondecldeflink.o .obj/release-shared/cpphighlighter.o .obj/release-shared/cpphoverhandler.o .obj/release-shared/cppincludehierarchy.o .obj/release-shared/cppincludehierarchyitem.o .obj/release-shared/cppincludehierarchymodel.o .obj/release-shared/cppincludehierarchytreeview.o .obj/release-shared/cppinsertvirtualmethods.o .obj/release-shared/cpplocalrenaming.o .obj/release-shared/cppoutline.o .obj/release-shared/cpppreprocessordialog.o .obj/release-shared/cppquickfix.o .obj/release-shared/cppquickfixassistant.o .obj/release-shared/cppquickfixes.o .obj/release-shared/cppsnippetprovider.o .obj/release-shared/cpptypehierarchy.o .obj/release-shared/cppvirtualfunctionassistprovider.o .obj/release-shared/cppvirtualfunctionproposalitem.o .obj/release-shared/moc_cppclasswizard.o .obj/release-shared/moc_cppcodemodelinspectordialog.o .obj/release-shared/moc_cppdocumentationcommenthelper.o .obj/release-shared/moc_cppeditor.o .obj/release-shared/moc_cppeditordocument.o .obj/release-shared/moc_cppeditoroutline.o .obj/release-shared/moc_cppeditorplugin.o .obj/release-shared/moc_cppfilewizard.o .obj/release-shared/moc_cppfunctiondecldeflink.o .obj/release-shared/moc_cpphighlighter.o .obj/release-shared/moc_cpphoverhandler.o .obj/release-shared/moc_cppincludehierarchy.o .obj/release-shared/moc_cppincludehierarchymodel.o .obj/release-shared/moc_cppinsertvirtualmethods.o .obj/release-shared/moc_cpplocalrenaming.o .obj/release-shared/moc_cppoutline.o .obj/release-shared/moc_cpppreprocessordialog.o .obj/release-shared/moc_cppquickfix.o .obj/release-shared/moc_cpptypehierarchy.o .obj/release-shared/qrc_cppeditor.o -L/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/lib/qtcreator -L/home/chris/rpm/BUILD/qt-creator-opensource-src-3.2.0/qt-creator-3.2.0-build/lib/qtcreator/plugins -lTextEditor -lCore -lCppTools -lProjectExplorer -lCPlusPlus -lAggregation -lExtensionSystem -lQtcSsh -lUtils -lLanguageUtils -lQtGui -lQtNetwork -lQtCore -lpthread .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppEditor::Internal::CppCodeModelInspectorDialog::refresh()': cppcodemodelinspectordialog.cpp:(.text+0x79bd): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' cppcodemodelinspectordialog.cpp:(.text+0x79fc): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppTools::Internal::CppModelManager::definedMacros()': cppcodemodelinspectordialog.cpp:(.text._ZN8CppTools8Internal15CppModelManager13definedMacrosEv[_ZN8CppTools8Internal15CppModelManager13definedMacrosEv]+0x26): undefined reference to `CppTools::Internal::CppModelManager::ensureUpdated()' .obj/release-shared/cppcodemodelinspectordialog.o: In function `CppTools::Internal::CppModelManager::headerPaths()': cppcodemodelinspectordialog.cpp:(.text._ZN8CppTools8Internal15CppModelManager11headerPathsEv[_ZN8CppToo
[Bug tree-optimization/62220] missed optimization wrt module for loop variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62220 amker at gcc dot gnu.org changed: What|Removed |Added CC||amker at gcc dot gnu.org --- Comment #1 from amker at gcc dot gnu.org --- To do such transformation, first problem needs to be resolved would be scalar evolution? I suppose it doesn't handle % (or /) right now?
[Bug tree-optimization/62217] DOM confuses complete unrolling which in turn causes VRP to warn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62217 --- Comment #3 from Kirill Yukhin --- As long as I understand `remove_exits_and_undefined_stmts' iterate loop boundaries set marking `unreachable' stmts w/ impossible bounds. For the example we have: - for true edge basic block 6, loop depth 1 pred: 5 g_x[b_6(D)] = *x1_7(D); goto ; succ: 8 - for false edge basic block 7, loop depth 1 pred: 5 g_x[i_14] = *x2_9(D); succ: 8 I suspect, that the problem is that `b' was propagated along `true' edge and replaced use of `i'. This removed reference to g_x from boundaries analysis for that edge: no IV is used there explicitly, only implicitly as b == i. Hence this stmt didn't hit boundaries set of the loop and wasn't marked as unreachable. BTW: this code survive rest of optimizations: movl(%edx), %edx cmpl$4, %eax movl%edx, g_x+12 jle .L1 movl(%ebx), %eax movl%eax, g_x+16 ;; REDUNDANT Looks like not simple warning, but also unnecessary code was generated.
[Bug c++/62223] New: error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62223 Bug ID: 62223 Summary: error: there are no arguments to ‘static_asssert’ that depend on a template parameter, so a declaration of ‘static_asssert’ must be available Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tower120 at gmail dot com May be not a bug... But, why error occurs in the following code? #include #include using namespace std; template class VertexBuffer { static constexpr const bool ownIndices = sizeof...(_Attrs) == 0; void test(){ static_asssert(ownIndices, "Link to owned indices!!"); } } int main(){} error: there are no arguments to 'static_asssert' that depend on a template parameter, so a declaration of 'static_asssert' must be available [-fpermissive] static_asssert(ownIndices, "Link to owned indices!!"); ^ Doesn't ownIndices template-dependent value? Compiled with MinGW 4.9
[Bug tree-optimization/62217] Extra iteration peeled during cunroll. Makes VRP warn.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62217 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-08-22 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski --- Confirmed.