[Bug middle-end/63186] [4.9/5 Regression] Undefined .L* symbols because of fnsplit
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63186 --- Comment #4 from Jan Hubicka --- Author: hubicka Date: Thu Sep 11 06:46:23 2014 New Revision: 215149 URL: https://gcc.gnu.org/viewcvs?rev=215149&root=gcc&view=rev Log: PR tree-optimization/63186 * ipa-split.c (test_nonssa_use): Skip nonforced labels. (mark_nonssa_use): Likewise. (verify_non_ssa_vars): Verify all header blocks for label definitions. * gcc.dg/pr63186.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr63186.c Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-split.c trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/62631] gcc.dg/tree-ssa/ivopts-lt-2.c FAILs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62631 amker at gcc dot gnu.org changed: What|Removed |Added CC||amker at gcc dot gnu.org --- Comment #6 from amker at gcc dot gnu.org --- (In reply to Rainer Orth from comment #0) > The new gcc.dg/tree-ssa/ivopts-lt-2.c test FAILs on 64-bit SPARC (only; > 32-bit is > ok): > > FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI" 1 > FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "p_[0-9]* <" > 1 > > I'm attaching the ivopts dump. > > Rainer Hi, According to https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00345.html, could you have a look whether the huge cost returned on sparc64 is as expected? Thanks very much.
[Bug middle-end/61848] [5 Regression] a previous declaration causes the section attribute to be lost
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61848 Andrew Pinski changed: What|Removed |Added CC||jan.sm...@alcatel-lucent.co ||m --- Comment #9 from Andrew Pinski --- *** Bug 63221 has been marked as a duplicate of this bug. ***
[Bug middle-end/63221] symbol with section attribute ends up in common
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63221 Andrew Pinski changed: What|Removed |Added Resolution|FIXED |DUPLICATE --- Comment #2 from Andrew Pinski --- . *** This bug has been marked as a duplicate of bug 61848 ***
[Bug middle-end/63221] symbol with section attribute ends up in common
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63221 Andrew Pinski changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #1 from Andrew Pinski --- Dup of bug 61848.
[Bug middle-end/63221] New: symbol with section attribute ends up in common
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63221 Bug ID: 63221 Summary: symbol with section attribute ends up in common Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jan.sm...@alcatel-lucent.com extern int sharedTop; int sharedTop __attribute__ ((section (".cvmx_shared"))); sharedTop ends up in COM with trunk, GCC 4.8 puts it in .cvmx_shared as one would expect.
[Bug middle-end/63220] New: error: inlining failed in call to always_inline
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63220 Bug ID: 63220 Summary: error: inlining failed in call to always_inline Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: xinliangli at gmail dot com Created attachment 33466 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33466&action=edit test case Compile the attached source with -std=gnu++11 -O1 option, the compilation will fail with the error message error: inlining failed in call to always_inline There is no problem with O2.
[Bug target/55212] [SH] Switch from IRA to LRA
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 --- Comment #3 from Oleg Endo --- Created attachment 33465 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33465&action=edit problematic libgcc divsc3 function
[Bug target/55212] [SH] Switch from IRA to LRA
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 Oleg Endo changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-09-10 Ever confirmed|0 |1 --- Comment #2 from Oleg Endo --- I've committed a small change as r215140. In my case building libgcc failed in the function __divsc3 and the change in sh_secondary_reload made it go away. I've briefly compared the resulting code against non-LRA and it looked OK. However, building __divsc3 still fails for -m2 -mb, now with the following: beh 0 0 0 (insn 1159 1008 1120 27 (set (reg:QI 625) (mem/c:QI (plus:SI (reg/f:SI 153 sfp) (const_int 19 [0x13])) [2 %sfp+-1 S1 A8])) sh_tmp.cpp:45 -1 (nil)) sh_tmp.cpp: In function '__divsc3': sh_tmp.cpp:57:1: internal compiler error: in lra_set_insn_recog_data, at lra.c:947 } ^ 0x8524c29 lra_set_insn_recog_data(rtx_def*) ../../gcc-sh-lra/gcc/lra.c:947 0x85258cb lra_get_insn_recog_data ../../gcc-sh-lra/gcc/lra-int.h:468 0x85258cb lra_update_insn_regno_info ../../gcc-sh-lra/gcc/lra.c:1607 0x85258cb lra_update_insn_regno_info ../../gcc-sh-lra/gcc/lra.c:1598 0x8525b1b lra_push_insn_1 ../../gcc-sh-lra/gcc/lra.c:1660 0x8525b1b lra_push_insn(rtx_def*) ../../gcc-sh-lra/gcc/lra.c:1668 0x8525d12 push_insns ../../gcc-sh-lra/gcc/lra.c:1711 0x852618f lra_process_new_insns(rtx_def*, rtx_def*, rtx_def*, char const*) ../../gcc-sh-lra/gcc/lra.c:1756 0x8533758 simplify_operand_subreg ../../gcc-sh-lra/gcc/lra-constraints.c:1523 0x8533758 curr_insn_transform ../../gcc-sh-lra/gcc/lra-constraints.c:3258 0x8535e2d lra_constraints(bool) ../../gcc-sh-lra/gcc/lra-constraints.c:4212 0x8526af8 lra(_IO_FILE*) ../../gcc-sh-lra/gcc/lra.c:2198 0x84e6823 do_reload ../../gcc-sh-lra/gcc/ira.c:5306 0x84e6823 execute ../../gcc-sh-lra/gcc/ira.c:5465 The generated insn 1159 isn't recognized, because the displacement value is out of range. It seems that LRA doesn't try to transform the out of range displacement QImode move into something else so that the constraint is satisfied. Maybe this is due to the way I did the QI/HImode displacement patterns. AFAIR, reload uses the macro LEGITIMIZE_RELOAD_ADDRESS (sh_legitimize_reload_address) to handle such cases. LRA can decompose addresses. However, it looks like it's not done in some cases?
[Bug lto/63215] LTO causes symbols for builtin functions to be omitted from object files
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63215 --- Comment #5 from Jan Hubicka --- > Hmm, we can easily distinguish them by seeing whether a definition is > available. Well, what happens in this testcase is that we see ABS at LTO time, we promote it to static (because no one uses it outside) and we optimize out. Later in queue we pattern match ABS and we are screwed. To fix this, we need to keep builtin function definitions around specially and see after all the function bodies are produces what builtin functions are used. This is just part of problem. Consider case where ABS is provided by LTO compiled static library. Because the use of ABS appears at link time, the linker will not see any use of ABS and willnot bring it in. Later we synthetize it and we are screwed. For this we need linker plugin to know what functions we can possibly syntehtize in the backend and pretend them to be used by every LTO body. This however may be quite bad thing, since we can synthetize quite fancy things like STDIO functions. So ful handling of those seems bit difficult to me. I think it may need iteration - i.e. if linker discovers that use of function provided by LTO symbol tables was introduced during linktime it will repreat the whole circus to get object file implementing that function... Honza
[Bug libstdc++/63219] New: Superfluous template parameter in match_result::format overload
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63219 Bug ID: 63219 Summary: Superfluous template parameter in match_result::format overload Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: ofv at wanadoo dot es This method: template basic_string format(const basic_string& __fmt, match_flag_type __flags = regex_constants::format_default) const { basic_string __result; format(std::back_inserter(__result), __fmt, __flags); return __result; } in std::match_results contains "typename _Out_iter", which seems a copy&pasto. Trying to use this method results on a compile error.
[Bug target/63209] [ARM] Wrong conditional move generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63209 davidxl changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #2 from davidxl --- Fixed in trunk: r215136, in gcc-4_9: r215137 2014-09-10 Xinliang David Li PR target/63209 * config/arm/arm.md (movcond_addsi): Handle case where source and target operands are the same.
[Bug libstdc++/63218] New: More compact std::bitset for small n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63218 Bug ID: 63218 Summary: More compact std::bitset for small n Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: ABI Severity: enhancement Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: glisse at gcc dot gnu.org sizeof(std::bitset<1>) is 8 on x86_64. It would be nice if it was reduced a bit. For efficiency reasons, it makes sense to keep std::bitset<65> of size 16, but for anything using at most 32 bits, using a smaller underlying type would be better. I had already though about that a long time ago, and was reminded by reading: https://groups.google.com/a/isocpp.org/d/msg/std-proposals/UjNcLLrGwv8/Pe1Icl6h6xQJ (another ABI-breaking change in bitset would be to set _WordT to unsigned long long on win64)
[Bug c++/63217] New: template conversion operator returning const reference not used for conversion in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63217 Bug ID: 63217 Summary: template conversion operator returning const reference not used for conversion in some cases Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Minimized repro: struct foo { template operator const T & () { static T t {}; return t;} }; int main() { int t((foo())); } g++ complains: prog.cc: In function 'int main()': prog.cc:7:18: error: cannot convert 'foo' to 'int' in initialization int t((foo())); ^ This behavior is consistently reproducible in all versions of g++ I tested. Both Clang and MSVC 2013 compiles this code without errors. The template `operator const T&` should have been instantiated with `T = int` and used for the conversion. Using a non-template `operator const int &` instead of a template makes the code compile.
[Bug c++/62306] [4.9/5 Regression?] Change in the comdat used for constructors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62306 Jason Merrill changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #12 from Jason Merrill --- So, intentional. And the test added for 62302 covers this as well.
[Bug c++/62306] [4.9/5 Regression?] Change in the comdat used for constructors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62306 --- Comment #11 from Jason Merrill --- I'm not too concerned about the change.(In reply to Jakub Jelinek from comment #9) > 4.5+4.6+4.9 is more released compilers than 4.7/4.8 though, and 4.9 is > already widely deployed too, IMHO it is worse to change this again > mid-release. Fair enough. I'm not too concerned about the mismatch either way; even in 4.7/4.8 any TU that emits D1/2 also emits D0, so we aren't going to have link failures.
[Bug ipa/61659] [4.9 Regression] Extra undefined symbol because of devirtualization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61659 --- Comment #36 from Jason Merrill --- Author: jason Date: Wed Sep 10 17:28:59 2014 New Revision: 215134 URL: https://gcc.gnu.org/viewcvs?rev=215134&root=gcc&view=rev Log: PR c++/61659 * decl.c (grokfndecl): Don't set DECL_COMDAT on static inlines. (duplicate_decls, start_decl): Likewise. * pt.c (check_explicit_specialization): Likewise. (push_template_decl_real): Or static templates. Added: trunk/gcc/testsuite/g++.dg/abi/no-weak1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/pt.c
[Bug c++/61489] Wrong warning with -Wmissing-field-initializers.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61489 Paolo Carlini changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |paolo.carlini at oracle dot com --- Comment #7 from Paolo Carlini --- Mine.
[Bug ipa/61659] [4.9 Regression] Extra undefined symbol because of devirtualization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61659 Markus Trippelsdorf changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #35 from Markus Trippelsdorf --- Fixed.
[Bug ipa/61659] [4.9 Regression] Extra undefined symbol because of devirtualization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61659 --- Comment #34 from Jason Merrill --- Author: jason Date: Wed Sep 10 14:27:40 2014 New Revision: 215131 URL: https://gcc.gnu.org/viewcvs?rev=215131&root=gcc&view=rev Log: PR lto/53808 PR c++/61659 * decl2.c (note_comdat_fn): New. (set_comdat): New. (cp_write_global_declarations): Call set_comdat. * method.c (implicitly_declare_fn): Call note_comdat_fn. * pt.c (tsubst_decl) [FUNCTION_DECL]: Likewise. * decl2.c (mark_needed): Mark clones. (import_export_decl): Not here. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/abi/no-weak1.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/abi/spec1.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/opt/devirt5.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/template/friend56.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/template/spec38.C Modified: branches/gcc-4_9-branch/gcc/cp/ChangeLog branches/gcc-4_9-branch/gcc/cp/cp-tree.h branches/gcc-4_9-branch/gcc/cp/decl2.c branches/gcc-4_9-branch/gcc/cp/method.c branches/gcc-4_9-branch/gcc/cp/pt.c branches/gcc-4_9-branch/gcc/testsuite/g++.dg/opt/devirt4.C
[Bug lto/53808] Undefined symbol when building a library with lto
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53808 --- Comment #16 from Jason Merrill --- Author: jason Date: Wed Sep 10 14:27:40 2014 New Revision: 215131 URL: https://gcc.gnu.org/viewcvs?rev=215131&root=gcc&view=rev Log: PR lto/53808 PR c++/61659 * decl2.c (note_comdat_fn): New. (set_comdat): New. (cp_write_global_declarations): Call set_comdat. * method.c (implicitly_declare_fn): Call note_comdat_fn. * pt.c (tsubst_decl) [FUNCTION_DECL]: Likewise. * decl2.c (mark_needed): Mark clones. (import_export_decl): Not here. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/abi/no-weak1.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/abi/spec1.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/opt/devirt5.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/template/friend56.C branches/gcc-4_9-branch/gcc/testsuite/g++.dg/template/spec38.C Modified: branches/gcc-4_9-branch/gcc/cp/ChangeLog branches/gcc-4_9-branch/gcc/cp/cp-tree.h branches/gcc-4_9-branch/gcc/cp/decl2.c branches/gcc-4_9-branch/gcc/cp/method.c branches/gcc-4_9-branch/gcc/cp/pt.c branches/gcc-4_9-branch/gcc/testsuite/g++.dg/opt/devirt4.C
[Bug middle-end/61654] [4.9/5 Regression] ICE in release_function_body, at cgraph.c:1699
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61654 --- Comment #13 from Martin Jambor --- Author: jamborm Date: Wed Sep 10 11:34:09 2014 New Revision: 215122 URL: https://gcc.gnu.org/viewcvs?rev=215122&root=gcc&view=rev Log: 2014-09-10 Martin Jambor PR ipa/61654 * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the new decl properly. Analyze the new thunk if it is expanded. gcc/testsuite/ * g++.dg/ipa/pr61654.C: New test. Added: trunk/gcc/testsuite/g++.dg/ipa/pr61654.C Modified: trunk/gcc/ChangeLog trunk/gcc/cgraphclones.c trunk/gcc/testsuite/ChangeLog
[Bug c++/63194] [5 Regression] ICE in maybe_explain_implicit_delete, at cp/method.c:1552
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63194 Markus Trippelsdorf changed: What|Removed |Added Keywords||ice-on-valid-code --- Comment #2 from Markus Trippelsdorf --- Actually started with r209907 aka DR 1351.
[Bug c++/63216] gcc crash: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63216 --- Comment #1 from Jonathan Wakely --- GCC 4.7 is no longer maintained or supported, please try a later release.
[Bug c++/63216] New: gcc crash: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63216 Bug ID: 63216 Summary: gcc crash: Segmentation fault Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: winbill at hotmail dot com === gcc version: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --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.7.2 (Debian 4.7.2-5) === output message: g++ -g -Wall -O2 -pipe -fno-ident -shared -D_GNU_SOURCE -D_REENTRNT -fPIC -Wno-strict-aliasing -I../../../comm//include -I/usr/local/services/XY/qg/trunk/xy_interface/include -I../../../comm//ol_include/comm -I../../../comm//ol_include/server -I. -I../../../comm//ft_api -I/usr/local/include/libxml2 -I/usr/local/openssl/include -c -o scene_room.o scene_room.cpp scene_room.cpp: In member function ‘int CGameRoom::LeaveRoom(long long unsigned int, uint16_t, unsigned int, const char*, Json::Value)’: scene_room.cpp:615:5: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Preprocessed source stored into /tmp/cciJERN8.out file, please attach this to your bugreport.
[Bug rtl-optimization/25285] pessimization of goto * ("computed goto")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25285 Richard Biener changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |INVALID --- Comment #10 from Richard Biener --- Please open new bugs.
[Bug rtl-optimization/25285] pessimization of goto * ("computed goto")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25285 mrs at gcc dot gnu.org changed: What|Removed |Added Status|RESOLVED|REOPENED Last reconfirmed||2014-09-10 CC||mrs at gcc dot gnu.org Resolution|INVALID |--- Ever confirmed|0 |1 --- Comment #9 from mrs at gcc dot gnu.org --- Customer unhappy.
[Bug middle-end/61225] [5 Regression] Several new failures after r210458 on x86_64-*-* with -m32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61225 --- Comment #11 from Dominique d'Humieres --- > Yes. I see. The patch is in review. But no feedback although I had pinged it > for > three times. > > https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01325.html > > I will go on ping it. The patch no longer apply on trunk (5.0).
[Bug lto/63215] LTO causes symbols for builtin functions to be omitted from object files
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63215 --- Comment #4 from Richard Biener --- Hmm, we can easily distinguish them by seeing whether a definition is available. That is, symbols with a definition should _always_ be output? I don't see any difficulties with builtin handling in general (though we probably should stop streaming builtins specially so we retain as builtin what was a builtin during compile-time). tree merging should happily merge equal builtin decls (and we compare them by function code anyway).