[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org --- This reduced testcase is undefined C++ because of One definition rule violation.
[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org --- And the linker shouldn't crash on any input...
[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 --- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org --- Created attachment 34177 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34177action=edit unreduced testcase (without ODR violation)
[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 --- Comment #4 from Markus Trippelsdorf trippels at gcc dot gnu.org --- With the unreduced testcase this issue also happens on x86_64 with gold: markus@x4 /tmp % g++ -w -shared -fPIC -O2 -fvisibility=hidden -std=c++0x qmimeglobpattern.ii qmimeprovider.ii markus@x4 /tmp % g++ -w -shared -fPIC -O3 -fvisibility=hidden -std=c++0x qmimeglobpattern.ii qmimeprovider.ii /usr/bin/ld: error: /tmp/ccpdsACp.o: requires dynamic R_X86_64_PC32 reloc against '_ZN5QListI7QStringED1Ev' which may overflow at runtime; recompile with -fPIC /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeXMLProvider::ensureLoaded(): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeXMLProvider::listAliases(QString const): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeXMLProvider::listAliases(QString const): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeBinaryProvider::checkCache(): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning: relocation refers to discarded section /tmp/ccpdsACp.o:qmimeprovider.cpp:function QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate): warning: relocation refers to discarded section collect2: error: ld returned 1 exit status (ld.bfd is fine:) markus@x4 /tmp % g++ -w -shared -fPIC -O3 -fvisibility=hidden -std=c++0x qmimeglobpattern.ii qmimeprovider.ii markus@x4 /tmp %
[Bug ipa/64164] New: [4.9/5 Regression] one more stack slot used due to one less inlining level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164 Bug ID: 64164 Summary: [4.9/5 Regression] one more stack slot used due to one less inlining level Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: patrick.marlier at gmail dot com Host: x86_64-linux-gnu Target: x86_64-linux-gnu Build: x86_64-linux-gnu Created attachment 34178 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34178action=edit testcase $ cc -O2 -S -o stm.s stm.c $ cc -O2 -DOPT -S -o stm-opt.s stm.c if you compare the 2 outputs, stm_load function is using one more slot on the stack. The difference is only this: static inline size_t AO_myload2(const volatile size_t *addr) { return *(size_t *)addr; } static inline size_t AO_myload(const volatile size_t *addr) { #ifdef OPT size_t result = AO_myload2(addr); #else size_t result = *(size_t *)addr; #endif return result; } Having one more inlined function should have the same optimization not a better one. 4.8 does not have the problem and the code generated is the same.
[Bug rtl-optimization/64110] [5 Regression] ICE: Max. number of generated reload insns per insn is achieved (90)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64110 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org Component|c++ |rtl-optimization --- Comment #8 from Marek Polacek mpolacek at gcc dot gnu.org --- Recateogrizing.
[Bug c++/64105] [4.9/5 Regression] ICE: in strip_typedefs, at cp/tree.c:1326
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64105 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |4.9.3 Summary|ICE: in strip_typedefs, at |[4.9/5 Regression] ICE: in |cp/tree.c:1326 |strip_typedefs, at ||cp/tree.c:1326 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed.
[Bug c++/56493] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 --- Comment #14 from Uroš Bizjak ubizjak at gmail dot com --- According to Comment #0 and Comment #9, this PR should be confirmed as a regression from 4.6.
[Bug c++/63889] [5 Regression] Ice with redundant static in class scope constexpr variable template.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63889 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |5.0 Summary|Ice with redundant static |[5 Regression] Ice with |in class scope constexpr|redundant static in class |variable template. |scope constexpr variable ||template. Ever confirmed|0 |1 --- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed.
[Bug middle-end/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Component|ipa |middle-end --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org --- Looks like out of SSA is producing the difference. Change the function to just: return *(size_t *)addr; Changes it to what the inline function does.
[Bug middle-end/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org --- Confirmed.
[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |4.8.4 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- I see ICE even with 4.6.
[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Summary|[5.0 regression] ICE on |[5 regression] ICE on |invalid: tree check:|invalid: tree check: |expected identifier_node, |expected identifier_node, |have template_id_expr in|have template_id_expr in |cp_parser_diagnose_invalid_ |cp_parser_diagnose_invalid_ |type_name, at |type_name, at |cp/parser.c:2980|cp/parser.c:2980 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed. Does not ice with -std=c++11.
[Bug c++/64035] [4.8/4.9/5 Regression] [C++11] ICE in reshape_init_r when using initializer list aggregate initialization for default function parameters
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64035 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |4.8.4 Summary|[C++11] ICE in |[4.8/4.9/5 Regression] |reshape_init_r when using |[C++11] ICE in |initializer list aggregate |reshape_init_r when using |initialization for default |initializer list aggregate |function parameters |initialization for default ||function parameters Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed.
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|2013-03-01 00:00:00 |2014-12-03 Summary|Performance regression in |[4.8/4.9/5 Regression] |google dense hashmap|Performance regression in ||google dense hashmap Ever confirmed|0 |1 --- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org --- We are using that #c13 patch successfully for almost 18 months now in Fedora. As type promotion/demotion patch is not (sadly) going to happen for GCC 5, I still think it would be worthwhile to apply it temporarily, until type promotion/demotion is written.
[Bug rtl-optimization/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||missed-optimization Last reconfirmed|2014-12-03 00:00:00 | Component|middle-end |rtl-optimization Target Milestone|--- |4.9.3 --- Comment #3 from Richard Biener rguenth at gcc dot gnu.org --- The difference is in whether there are extra user-named variables in the end and thus SSA coalescing decision differences: stm_load (volatile stm_word_t * addr) { - stm_word_t l; - stm_word_t value; stm_word_t version; stm_word_t l; struct r_entry_t * r; - stm_word_t now; ... + size_t _32; + size_t _33; + size_t _34; ... Conflict graph: +1: 3 +3: 1 After sorting: Sorted Coalesce list: +(16610) _30 - _33 (651) _10 - _30 ... -Coalesce list: (10)_10 (30)_30 [map: 1, 2] : Success - 1 +Coalesce list: (30)_30 (33)_33 [map: 2, 3] : Success - 2 +Coalesce list: (10)_10 (30)_30 [map: 1, 2] : Fail due to conflict So it turns out the different coalescing ends up generating worse code. It would be interesting to see why we decide that coalescing _30 and _33 is so much more beneficial than coalescing _10 and _30. Ah, it simply uses EDGE_FREQUENCY... and for some reason we predicted that _33 1 != 0 is 10% taken only. So ... the theory is that the version is faster on the important path?
[Bug middle-end/63289] ICE from --param max-vartrack-expr-depth
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63289 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Component|c |middle-end --- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org --- This seems to be fixed on trunk.
[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |5.0
[Bug rtl-optimization/64164] [4.9/5 Regression] one more stack slot used due to one less inlining level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164 --- Comment #4 from Richard Biener rguenth at gcc dot gnu.org --- That is, it is good # _30 = PHI 0(2), _10(8), value_33(7), value_33(3), value_33(6) return _30; vs bad # _30 = PHI 0(2), _10(8), _33(7), _33(3), _33(6) return _30; where it thinks that coalescing _30 and _33 is more important than coalescing _30 and _10 (which looks reasonable). The question is why RTL opts make such large difference out of this.
[Bug libstdc++/64161] [5 Regression] bootstrap error: condition_variable.cc:134:7: error: 'atexit' is not a member of 'std'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64161 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |5.0 --- Comment #7 from Richard Biener rguenth at gcc dot gnu.org --- Assuming fixed.
[Bug target/64159] [5 Regression] FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized return 28;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64159 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1 Component|tree-optimization |target Summary|FAIL: |[5 Regression] FAIL: |gcc.dg/tree-ssa/ssa-dom-cse |gcc.dg/tree-ssa/ssa-dom-cse |-2.c scan-tree-dump |-2.c scan-tree-dump |optimized return 28; |optimized return 28; --- Comment #2 from Richard Biener rguenth at gcc dot gnu.org --- It's already xfailed for hppa, so yes, likely (if you can verify the theory). Note that there may be other reasons, like vectorizing using stmts that we don't constant-fold or the inability to unroll the loop due to target specific limits. Needs investigation. It's still a testsuite regression.
[Bug rtl-optimization/64157] [5.0 regression] FAIL: gcc.dg/torture/pr52429.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64157 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||ra Priority|P3 |P1 CC||vmakarov at gcc dot gnu.org
[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |5.0 Ever confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org --- Confirmed. Works with -std=c++11. They might be dupes, but this one looks valid.
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 --- Comment #16 from Richard Biener rguenth at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #15) We are using that #c13 patch successfully for almost 18 months now in Fedora. As type promotion/demotion patch is not (sadly) going to happen for GCC 5, I still think it would be worthwhile to apply it temporarily, until type promotion/demotion is written. Works for me.
[Bug c/59708] clang-compatible checked arithmetic builtins
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59708 --- Comment #25 from Jakub Jelinek jakub at gcc dot gnu.org --- Created attachment 34179 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34179action=edit gcc5-pr59708.patch Untested fix for the ppc32 builtin-arith-overflow-14.c failure. expand_widening_mult something, const0_rtx was happily trying to expand double word shifts by -1.
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.8.4
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 --- Comment #17 from Richard Biener rguenth at gcc dot gnu.org --- Btw, I think that (int) ((long unsigned int) q + D.2078) to (int) ((unsigned int) q + (unsigned int) D.2078) doesn't look like an always profitable pattern on GIMPLE (more stmts). Also take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do and prefer types according to that. The vectorizer prefers single type sizes throughout computations to avoid re-packing.
[Bug rtl-optimization/63957] [5 Regression] rename -fuse-caller-save to -fipa-ra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63957 --- Comment #6 from vries at gcc dot gnu.org --- Author: vries Date: Wed Dec 3 10:28:25 2014 New Revision: 218305 URL: https://gcc.gnu.org/viewcvs?rev=218305root=gccview=rev Log: Rename fuse-caller-save 2014-12-03 Tom de Vries t...@codesourcery.com PR rtl-optimization/63957 * doc/invoke.texi: Replace -fuse-caller-save with -fipa-ra. * final.c (rest_of_handle_final): Replace flag_use_caller_save with flag_ipa_ra. (get_call_reg_set_usage): Same. * lra-assigns.c (lra_assign): Same. * lra-constraints.c (need_for_call_save_p): Same. * lra-lives.c (process_bb_lives): Same. * lra.c (lra): Same. * calls.c (expand_call): Same. (emit_library_call_value_1): Same. * config/arm/arm.c (arm_option_override): Same. * opts.c (default_options_table): Replace OPT_fuse_caller_save with OPT_fipa_ra. * target.def (call_fusage_contains_non_callee_clobbers): Replace fuse-caller-save with fipa-ra. * doc/tm.texi (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Same. * common.opt: Same. * gcc.dg/ira-shrinkwrap-prep-1.c: Replace -fno-use-caller-save with -fno-ipa-ra. * gcc.dg/ira-shrinkwrap-prep-2.c: Same. * gcc.target/aarch64/aapcs64/aapcs64.exp: Same. * gcc.dg/fuse-caller-save.c: Replace -fuse-caller-save with -fipa-ra. * gcc.target/aarch64/fuse-caller-save.c: Same. * gcc.target/arm/fuse-caller-save.c: Same. * gcc.target/i386/fuse-caller-save-rec.c: Same. * gcc.target/i386/fuse-caller-save-xmm-run.c: Same. * gcc.target/i386/fuse-caller-save-xmm.c: Same. * gcc.target/i386/fuse-caller-save.c: Same. * gcc.target/mips/fuse-caller-save-micromips.c: Same. * gcc.target/mips/fuse-caller-save-mips16.c: Same. * gcc.target/mips/fuse-caller-save.c: Same. * gcc.target/mips/mips.exp: Replace use-caller-save with ipa-ra in -ffoo/-fno-foo options. Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/common.opt trunk/gcc/config/arm/arm.c trunk/gcc/doc/invoke.texi trunk/gcc/doc/tm.texi trunk/gcc/final.c trunk/gcc/lra-assigns.c trunk/gcc/lra-constraints.c trunk/gcc/lra-lives.c trunk/gcc/lra.c trunk/gcc/opts.c trunk/gcc/target.def trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/fuse-caller-save.c trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-1.c trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c trunk/gcc/testsuite/gcc.target/aarch64/aapcs64/aapcs64.exp trunk/gcc/testsuite/gcc.target/aarch64/fuse-caller-save.c trunk/gcc/testsuite/gcc.target/arm/fuse-caller-save.c trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm-run.c trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c trunk/gcc/testsuite/gcc.target/i386/fuse-caller-save.c trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save-micromips.c trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save-mips16.c trunk/gcc/testsuite/gcc.target/mips/fuse-caller-save.c trunk/gcc/testsuite/gcc.target/mips/mips.exp
[Bug rtl-optimization/63957] [5 Regression] rename -fuse-caller-save to -fipa-ra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63957 vries at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #7 from vries at gcc dot gnu.org --- Renaming patch committed, marking resolved fixed
[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153 --- Comment #4 from Andreas Schwab sch...@linux-m68k.org --- This fixes all yesterday's testsuite regression.
[Bug target/64154] enable fipa-ra for Thumb1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64154 vries at gcc dot gnu.org changed: What|Removed |Added Summary|enable fuse-caller-save for |enable fipa-ra for Thumb1 |Thumb1 | --- Comment #1 from vries at gcc dot gnu.org --- -fuse-caller-save has been renamed to -fipa-ra
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 --- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org --- (In reply to Richard Biener from comment #17) Btw, I think that (int) ((long unsigned int) q + D.2078) to (int) ((unsigned int) q + (unsigned int) D.2078) doesn't look like an always profitable pattern on GIMPLE (more stmts). Also take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do and prefer types according to that. The vectorizer prefers single type sizes throughout computations to avoid re-packing. Which is why the proposal was to do demotion early and promote back depending on machine description (and, perhaps on separate IL copy, in between ifcvt and vectorizer also promote to decrease re-packing). The demotion would help with avoiding unnecessary computations (e.g. those affecting just the high bits), canonicalizing the IL and in some cases allowing bigger parts of computations with the same type bitsizes, and promotion would be an attempt to help with sub-word arithmetics on word only arithmetics targets, etc. Dunno why Kai has stopped working on that :(.
[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added CC||ktietz at gcc dot gnu.org --- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org --- Issue is that lookup_destructor calls adjust_result_of_qualified_name_lookup with an NULL_TREE decl (returned by lookup_member). Here the error-check seems to be missing. Following patch fixes this issue for me: Index: typeck.c === --- typeck.c(Revision 218142) +++ typeck.c(Arbeitskopie) @@ -2536,6 +2536,11 @@ lookup_destructor (tree object, tree scope, tree d expr = lookup_member (dtor_type, complete_dtor_identifier, /*protect=*/1, /*want_type=*/false, tf_warning_or_error); + if (!expr) +{ + cxx_incomplete_type_error (dtor_name, dtor_type); + return error_mark_node; +} expr = (adjust_result_of_qualified_name_lookup (expr, dtor_type, object_type)); if (scope == NULL_TREE) Index: search.c === --- search.c(Revision 218142) +++ search.c(Arbeitskopie) @@ -1530,6 +1530,9 @@ adjust_result_of_qualified_name_lookup (tree decl, tree qualifying_scope, tree context_class) { + if (!decl) +return NULL_TREE; + if (context_class context_class != error_mark_node CLASS_TYPE_P (context_class) CLASS_TYPE_P (qualifying_scope) The change to search.c isn't really required, but avoids to show the ice in adjust_result_of_qualifying.
[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added CC||ktietz at gcc dot gnu.org --- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org --- Yes, issue is caused by prefix of INDIRECT_REF. The following patch solves this issue for me: Index: constexpr.c === --- constexpr.c (Revision 218142) +++ constexpr.c (Arbeitskopie) @@ -2486,7 +2550,9 @@ cxx_eval_store_expression (const constexpr_ctx *ct vec_safe_push (refs, TREE_TYPE (probe)); probe = TREE_OPERAND (probe, 0); break; - + case INDIRECT_REF: + probe = TREE_OPERAND (probe, 0); + break; default: object = probe; gcc_assert (DECL_P (object));
[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106 --- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org --- I have a similar patch: --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -2581,6 +2581,12 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, probe = TREE_OPERAND (probe, 0); break; + case INDIRECT_REF: + vec_safe_push (refs, TREE_OPERAND (probe, 0)); + vec_safe_push (refs, TREE_TYPE (probe)); + probe = TREE_OPERAND (probe, 0); + break; + default: object = probe; gcc_assert (DECL_P (object));
[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106 --- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org --- Slightly reduced testcase: void f (int c, int lc) { c (lc -= 8); }
[Bug target/63661] [4.9 Regression] -O2 miscompiles with -mtune=nehalem or corei7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661 --- Comment #29 from renlin at gcc dot gnu.org --- Author: renlin Date: Wed Dec 3 11:13:50 2014 New Revision: 218306 URL: https://gcc.gnu.org/viewcvs?rev=218306root=gccview=rev Log: Backported from mainline gcc/ 2014-12-03 Renlin Li renlin...@arm.com PR middle-end/63762 PR target/63661 * ira.c (i386ra): Update preferred class. gcc/testsuite/ 2014-12-03 Renlin Li renlin...@arm.com H.J. Lu hongjiu...@intel.com PR middle-end/63762 PR target/63661 * gcc.dg/pr63762.c: New test. * gcc.target/i386/pr63661.c: New test. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63762.c branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63661.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/ira.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
[Bug target/64165] New: __builtin_frame_address causes segmentation fault in __static_initialization_and_destruction_0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64165 Bug ID: 64165 Summary: __builtin_frame_address causes segmentation fault in __static_initialization_and_destruction_0 Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: angeldevil_007 at mail dot ru Simple example working for me: #include memory #include cstdio struct test_t { test_t() { std::printf(%p, __builtin_frame_address(0) ? (__builtin_frame_address(1) ? (__builtin_frame_address(2) ? (__builtin_frame_address(3) ? __builtin_frame_address(4) : nullptr) : nullptr) : nullptr) : nullptr); } }; test_t obj; int main(int, char **) { return 0; } Compile: g++ -std=c++0x main.C -o test -fno-omit-frame-pointer g++-4.9 -std=c++11 main.C -o test -fno-omit-frame-pointer Backtrace: #0 0x00400586 in test_t::test_t() () #1 0x0040052d in __static_initialization_and_destruction_0(int, int) () #2 0x00400542 in _GLOBAL__sub_I_obj () #3 0x0040061d in __libc_csu_init () #4 0x77a3c700 in __libc_start_main (main=0x4004f4 main, argc=1, ubp_av=0x7fffeb68, init=0x4005c0 __libc_csu_init, fini=optimized out, rtld_fini=optimized out, stack_end=0x7fffeb58) at libc-start.c:185 #5 0x00400439 in _start () g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --e nable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enab le-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-l inux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) Reproduced on: g++-4.9 -v Using built-in specs. COLLECT_GCC=g++-4.9 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.2-0ubuntu1~12.04' --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-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar= /usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64 --enable-multilib --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.9.2 (Ubuntu 4.9.2-0ubuntu1~12.04)
[Bug middle-end/63762] [ARM]GCC generates UNPREDICTABLE STR with Rn = Rt when hard-float abi is used
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63762 --- Comment #8 from renlin at gcc dot gnu.org --- Author: renlin Date: Wed Dec 3 11:13:50 2014 New Revision: 218306 URL: https://gcc.gnu.org/viewcvs?rev=218306root=gccview=rev Log: Backported from mainline gcc/ 2014-12-03 Renlin Li renlin...@arm.com PR middle-end/63762 PR target/63661 * ira.c (i386ra): Update preferred class. gcc/testsuite/ 2014-12-03 Renlin Li renlin...@arm.com H.J. Lu hongjiu...@intel.com PR middle-end/63762 PR target/63661 * gcc.dg/pr63762.c: New test. * gcc.target/i386/pr63661.c: New test. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr63762.c branches/gcc-4_9-branch/gcc/testsuite/gcc.target/i386/pr63661.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/ira.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
[Bug c++/64106] [5 Regression][C++14] internal compiler error: in cxx_eval_store_expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64106 --- Comment #5 from Kai Tietz ktietz at gcc dot gnu.org --- + vec_safe_push (refs, TREE_OPERAND (probe, 0)); + vec_safe_push (refs, TREE_TYPE (probe)); ^ This looks to me wrong. INDIRECT_REF has just one argument, and is directly associated to underlying decl, so I don't see a reason to put it into the refs-vector. To initialize it no additional constructor is required AFAICS. But I might be wrong
[Bug c++/56493] [4.8/4.9/5 Regression] Performance regression in google dense hashmap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493 --- Comment #19 from Richard Biener rguenth at gcc dot gnu.org --- (In reply to Jakub Jelinek from comment #18) (In reply to Richard Biener from comment #17) Btw, I think that (int) ((long unsigned int) q + D.2078) to (int) ((unsigned int) q + (unsigned int) D.2078) doesn't look like an always profitable pattern on GIMPLE (more stmts). Also take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do and prefer types according to that. The vectorizer prefers single type sizes throughout computations to avoid re-packing. Which is why the proposal was to do demotion early and promote back depending on machine description (and, perhaps on separate IL copy, in between ifcvt and vectorizer also promote to decrease re-packing). The demotion would help with avoiding unnecessary computations (e.g. those affecting just the high bits), canonicalizing the IL and in some cases allowing bigger parts of computations with the same type bitsizes, and promotion would be an attempt to help with sub-word arithmetics on word only arithmetics targets, etc. Dunno why Kai has stopped working on that :(. Because I pushed back hard. He ended up with multiple passes here and there, and mostly motivated things by better folding with less conversions in the IL. I also think you can't really separate demotion and promotion (demotion is just making range information a little bit more explicit in the IL, and thus IMHO tied to VRP if it runs). Promotion (which can of course also be effective demotion if legal) is to make things aligned with the target.
[Bug tree-optimization/14541] [tree-ssa] built-in math functions are not fully optimized at tree level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14541 --- Comment #18 from Richard Biener rguenth at gcc dot gnu.org --- Author: rguenth Date: Wed Dec 3 11:55:14 2014 New Revision: 218308 URL: https://gcc.gnu.org/viewcvs?rev=218308root=gccview=rev Log: 2014-12-03 Richard Biener rguent...@suse.de PR middle-end/14541 * builtins.c (fold_builtin_logarithm): Implement simplifications ... * match.pd: ... here as patterns. Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/match.pd
[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127 Kai Tietz ktietz at gcc dot gnu.org changed: What|Removed |Added CC||ktietz at gcc dot gnu.org --- Comment #2 from Kai Tietz ktietz at gcc dot gnu.org --- Nor does it with c++14. Issue is that for -std=c++98 the tree isn't a template_decl. Instead it is a template_id_expr. See parser.c:cp_parser_diagnose_invalid_type_name ... else if (cxx_dialect cxx11 !strcmp (IDENTIFIER_POINTER (id), thread_local)) ... By adding to this check ' DECL_P (id)' fixes the ICE. Index: parser.c === --- parser.c(Revision 218142) +++ parser.c(Arbeitskopie) @@ -2977,6 +2977,7 @@ cp_parser_diagnose_invalid_type_name (cp_parser *p inform (location, C++11 %noexcept% only available with -std=c++11 or -std=gnu++11); else if (cxx_dialect cxx11 + DECL_P (id) !strcmp (IDENTIFIER_POINTER (id), thread_local)) inform (location, C++11 %thread_local% only available with -std=c++11 or -std=gnu++11);
[Bug c++/63558] cannot silence jump to case label with fpermissive
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63558 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2014-12-03 Assignee|unassigned at gcc dot gnu.org |paolo.carlini at oracle dot com Ever confirmed|0 |1 --- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com --- Mine.
[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151 Igor Zamyatin izamyatin at gmail dot com changed: What|Removed |Added CC||izamyatin at gmail dot com --- Comment #4 from Igor Zamyatin izamyatin at gmail dot com --- I also see ~5% regression on eg spec2006/456.hmmer for i686 with -O3
[Bug rtl-optimization/64010] [msp430-elf] struct function dereference clobbers parameter passed to function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64010 --- Comment #9 from Nick Clifton nickc at redhat dot com --- Hi Ulrich, Thanks - ypur patch does work, and it is certainly better than mine. Will you be applying it to the gcc mainline sources ? (And maybe the 4.9 branch as well ?) Cheers Nick
[Bug middle-end/56917] -ftrapv detects a overflow wrongly.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org --- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org --- Looking into this again.
[Bug middle-end/56917] -ftrapv detects a overflow wrongly.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Target Milestone|5.0 |4.8.4 --- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org --- Adjusting target. Happens with 4.8 as well.
[Bug middle-end/56917] -ftrapv detects a overflow wrongly.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56917 --- Comment #4 from Richard Biener rguenth at gcc dot gnu.org --- fold looks too much through sign-changing NOP conversions, this makes it tricky to spot errors in patterns.
[Bug go/63731] Fallback to netgo does not work
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731 --- Comment #20 from Yohei Ueda yohei at jp dot ibm.com --- I noticed a Docker issue saying GC 1.4 does not rebuild the standard library with -a. https://github.com/docker/docker/issues/9449 I think the problem is now not limited to GCCGO.
[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151 --- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org --- Author: hjl Date: Wed Dec 3 13:16:25 2014 New Revision: 218312 URL: https://gcc.gnu.org/viewcvs?rev=218312root=gccview=rev Log: Revert r218266 gcc/ PR rtl-optimization/64151 PR rtl-optimization/64156 * ira-costs.c (scan_one_insn): Revert r218266. gcc/testsuite/ PR rtl-optimization/64151 PR rtl-optimization/64156 * gcc.target/aarch64/remat1.c: Removed. Revert r218267. Removed: trunk/gcc/testsuite/gcc.target/aarch64/remat1.c Modified: trunk/gcc/ChangeLog trunk/gcc/ira-costs.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/64156] Subversion id 218266 breaks the big-endian 64-bit PowerPC build (wilco.dijks...@arm.com's mod to ira-costs.c)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64156 --- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org --- Author: hjl Date: Wed Dec 3 13:16:25 2014 New Revision: 218312 URL: https://gcc.gnu.org/viewcvs?rev=218312root=gccview=rev Log: Revert r218266 gcc/ PR rtl-optimization/64151 PR rtl-optimization/64156 * ira-costs.c (scan_one_insn): Revert r218266. gcc/testsuite/ PR rtl-optimization/64151 PR rtl-optimization/64156 * gcc.target/aarch64/remat1.c: Removed. Revert r218267. Removed: trunk/gcc/testsuite/gcc.target/aarch64/remat1.c Modified: trunk/gcc/ChangeLog trunk/gcc/ira-costs.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/64156] Subversion id 218266 breaks the big-endian 64-bit PowerPC build (wilco.dijks...@arm.com's mod to ira-costs.c)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64156 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #6 from H.J. Lu hjl.tools at gmail dot com --- Fixed.
[Bug rtl-optimization/64151] [5 Regression] r218266 caused many regressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64151 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from H.J. Lu hjl.tools at gmail dot com --- Fixed.
[Bug target/59593] [arm big-endian] using ldrh access a immediate which stored in a memory by word
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59593 --- Comment #6 from fyang at gcc dot gnu.org --- Author: fyang Date: Wed Dec 3 13:39:56 2014 New Revision: 218314 URL: https://gcc.gnu.org/viewcvs?rev=218314root=gccview=rev Log: Backport from mainline 2014-11-20 Ramana Radhakrishnan ramana.radhakrish...@arm.com PR target/59593 * config/arm/arm.md (*movhi_insn): Use right formatting for immediate. 2014-11-19 Felix Yang felix.y...@huawei.com Shanyao Chen chenshan...@huawei.com PR target/59593 * config/arm/arm.md (define_attr arch): Add v6t2. (define_attr arch_enabled): Add test for the above. (*movhi_insn_arch4): Add new alternative. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/arm/arm.md
[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153 --- Comment #5 from Martin Jambor jamborm at gcc dot gnu.org --- Author: jamborm Date: Wed Dec 3 14:05:51 2014 New Revision: 218316 URL: https://gcc.gnu.org/viewcvs?rev=218316root=gccview=rev Log: 2014-12-03 Martin Jambor mjam...@suse.cz PR ipa/64153 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check type sizes before view_converting. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-inline-analysis.c
[Bug sanitizer/61591] Undefined behavior sanitizer does not catch builtin_unreachable's from impossible devirtualization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61591 Martin Jambor jamborm at gcc dot gnu.org changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment #2 from Martin Jambor jamborm at gcc dot gnu.org --- I'd like to bring this to attention of UBSAN people one more time. I think that since 5.0 is much more aggressive turning virtual calls which cannot happen because of type hierarchy into __builtin_unreachable, being able to have the calls reported at run time with UBSAN would be highly desirable.
[Bug tree-optimization/63660] -Wmaybe-uninitialized false positive (uninit pass limits)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63660 --- Comment #2 from Edward-san ed0.88.prez at gmail dot com --- Isn't it possible to bailout if the limit is reached?
[Bug sanitizer/61591] Undefined behavior sanitizer does not catch builtin_unreachable's from impossible devirtualization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61591 --- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org --- Recently I rewrote the implementation of -fsanitize=unreachable and now I get an Illegal instruction on the testcase attached. So is there anything else to do?
[Bug tree-optimization/63660] -Wmaybe-uninitialized false positive (uninit pass limits)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63660 --- Comment #3 from Manuel López-Ibáñez manu at gcc dot gnu.org --- (In reply to Edward-san from comment #2) Isn't it possible to bailout if the limit is reached? I guess the analysis is trying to prove that the variable is indeed initialized (or that it is never used uninitialized). It bails out trying to prove that, thus the warning. The warning code could be conservative and never warn if the limit is reached, but then we will have the other problem: false-negatives. A way to advance with this (if you want to help) is to check which limit is actually hit by your code. Then see by how much you would need to change the limit to warn (by for example adding a --param to control it). Then, with this information at hand, the GCC maintainers can decide whether to increase the limit a bit or perhaps to never warn if the limit is hit (people that want all potential warnings not matter the compile-time cost can use the --param for a deeper analysis).
[Bug jit/64166] New: JIT does not provide a way for verifying dumpfiles from testcases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166 Bug ID: 64166 Summary: JIT does not provide a way for verifying dumpfiles from testcases Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: jit Assignee: dmalcolm at gcc dot gnu.org Reporter: dmalcolm at gcc dot gnu.org Blocks: 64020 In PR jit/64020 I found that there isn't currently a good way for a jit testcase to get at a specific dumpfile and to assert properties about it (e.g. that a particular string or regex is found). I'm opening this bug to track this. I'm not yet sure to what extent to expose this in the API to end-users.
[Bug jit/64020] jit misses sin/cos optimizations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64020 --- Comment #8 from dmalcolm at gcc dot gnu.org --- (In reply to dmalcolm from comment #7) (In reply to dmalcolm from comment #5) (In reply to dmalcolm from comment #4) Am testing a candidate patch for this Patch posted as: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg03229.html Committed as r218240. Should be fixed as of that commit, but the testcase does not yet automatically verify the fix. I'll keep this open until it does (which will require implementing a good way to do that). I've opened PR jit/64166 to track providing a way to write such a verification.
[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166 dmalcolm at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2014-12-03 Ever confirmed|0 |1
[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166 --- Comment #1 from Richard Biener rguenth at gcc dot gnu.org --- Huh, I think you rather want a stable introspection (plugin) API. Like the treeish one that was proposed at some point but never was finished up. The JIT should provide the modification API only.
[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153 --- Comment #6 from Martin Jambor jamborm at gcc dot gnu.org --- Author: jamborm Date: Wed Dec 3 15:17:37 2014 New Revision: 218320 URL: https://gcc.gnu.org/viewcvs?rev=218320root=gccview=rev Log: 2014-12-03 Martin Jambor mjam...@suse.cz PR ipa/64153 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check type sizes before view_converting. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/ipa-inline-analysis.c
[Bug tree-optimization/63551] [4.9/5 Regression] wrong code (segfaults) at -Os on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63551 Bug 63551 depends on bug 64153, which changed state. Bug 64153 Summary: [5.0 regression] r218205 miscompiles libgomp https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug ipa/64153] [5.0 regression] r218205 miscompiles libgomp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64153 Martin Jambor jamborm at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Martin Jambor jamborm at gcc dot gnu.org --- (In reply to Andreas Schwab from comment #4) This fixes all yesterday's testsuite regression. Thanks a lot. I have committed the fix so this is now resolved.
[Bug c/64167] New: [4.9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167 Bug ID: 64167 Summary: [4.9 Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: danglin at gcc dot gnu.org Host: hppa2.0w-hp-hpux11.11 Target: hppa2.0w-hp-hpux11.11 Build: hppa2.0w-hp-hpux11.11 In stage2, checking whether ln -s works... yes checking for hppa2.0w-hp-hpux11.11-gcc... /mnt/gnu/gcc/objdir/./gcc/xgcc -B/mnt/gnu/gcc/objdir/./gcc/ -B/nowhere/hppa2.0w-hp-hpux11.11/bin/ -B/nowhere/hppa2.0w-hp-hpux11.11/lib/ -isystem /nowhere/hppa2.0w-hp-hpux11.11/include -isystem /nowhere/hppa2.0w-hp-hpux11.11/sys-include checking for suffix of object files... configure: error: in `/mnt/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libgcc': configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. make[2]: *** [configure-stage2-target-libgcc] Error 1 make[2]: Leaving directory `/mnt/gnu/gcc/objdir-test' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/mnt/gnu/gcc/objdir-test' make: *** [bootstrap] Error 2 Wed Dec 3 00:57:04 EST 2014 This is with r218299. With following source, int main () { return 0; } there is a segv in _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE: (gdb) r Starting program: /mnt/gnu/gcc/objdir-test/gcc/cc1 -fpreprocessed xxx.i -quiet -dumpbase xxx.c -auxbase xxx -O -version -o xxx.s warning: Private mapping of shared library text was not specified by the executable; setting a breakpoint in a shared library which is not privately mapped will not work. See the HP-UX 11i v3 chatr manpage for methods to privately map shared library text. GNU C (GCC) version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision 218299] (hppa2.0w-hp-hpux11.11) compiled by GNU C version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision 218299], GMP version 5.0.5, MPFR version 3.1.2, MPC version 1.0 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C (GCC) version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision 218299] (hppa2.0w-hp-hpux11.11) compiled by GNU C version 4.9.3 20141203 (prerelease) [gcc-4_9-branch revision 218299], GMP version 5.0.5, MPFR version 3.1.2, MPC version 1.0 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 6b27250b3430efeeb5e5441a626bfbd3 Program received signal SIGSEGV, Segmentation fault. _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE (parser=0x7ae86708, fndef_ok=true, static_assert_ok=false, empty_ok=true, nested=0, start_attr_ok=1, objc_foreach_object_declaration=0x0, omp_declare_simd_clauses=...) at ../../gcc/gcc/c/c-parser.c:1796 1796 ce = ce-declarator; (gdb) disass $pc-16,$pc+16 Dump of assembler code from 0xa8f7c to 0xa8f9c: 0x000a8f7c _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1636: bb,*=,n ret0,1f,0xa8f8c _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1652 0x000a8f80 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1640: ldh 20(r18),ret0 0x000a8f84 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1644: depwi 1,22,1,ret0 0x000a8f88 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1648: sth ret0,20(r18) = 0x000a8f8c _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1652: ldw 8(r6),r6 0x000a8f90 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1656: cmpib,= 0,r6,0xa8ee4 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1484 0x000a8f94 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1660: copy r18,r26 0x000a8f98 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE+1664: ldw 0(r6),ret0 End of assembler dump. (gdb) p/x $r6 $1 = 0x53 (gdb) bt #0 _ZL29c_parser_declaration_or_fndefP8c_parserbPP9tree_node3vecI7c_token7va_heap6vl_ptrE (parser=0x7ae86708, fndef_ok=true, static_assert_ok=false, empty_ok=true, nested=0, start_attr_ok=1, objc_foreach_object_declaration=0x0, omp_declare_simd_clauses=...) at ../../gcc/gcc/c/c-parser.c:1796 #1 0x000acc00 in _ZL29c_parser_external_declarationP8c_parser ( parser=0x7ae86708) at ../../gcc/gcc/c/c-parser.c:1399 #2 0x000ad8ac in _Z12c_parse_filev () at ../../gcc/gcc/c/c-parser.c:1286 #3 0x000f2b74 in _Z19c_common_parse_filev () at ../../gcc/gcc/c-family/c
[Bug c/64167] [4.9 Regression] bootstrap error: segv in c parser
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167 --- Comment #1 from John David Anglin danglin at gcc dot gnu.org --- r218104 was ok.
[Bug c/64167] [4.9 Regression] bootstrap error: segv in c parser
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64167 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org --- Guess you need to bisect it first.
[Bug c++/64100] A static assert using the the current class in a noexcept test leads to a segfault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64100 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org --- Yeah, r160250 still errored out on it, r160311 already ICEs.
[Bug libstdc++/64168] New: [5.0 regression] FAIL: 30_threads/async/sync.cc execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168 Bug ID: 64168 Summary: [5.0 regression] FAIL: 30_threads/async/sync.cc execution test Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: sch...@linux-m68k.org CC: redi at gcc dot gnu.org Target: m68k-*-*, ia64-*-* Broken by r218255. sync.exe: /usr/local/gcc/gcc-20141203/libstdc++-v3/testsuite/30_threads/async/sync.cc:54: void test01(): Assertion `f1.wait_until(then) == std::future_status::deferred' failed.
[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168 Andreas Schwab sch...@linux-m68k.org changed: What|Removed |Added Target Milestone|--- |5.0
[Bug target/63661] [4.9 Regression] -O2 miscompiles with -mtune=nehalem or corei7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63661 Renlin Li renlin.li at arm dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #30 from Renlin Li renlin.li at arm dot com --- 4.9 branch is fixed by r218306 trunk is fixed by r217783
[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2014-12-03 Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Ever confirmed|0 |1
[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org --- Author: redi Date: Wed Dec 3 16:09:21 2014 New Revision: 218321 URL: https://gcc.gnu.org/viewcvs?rev=218321root=gccview=rev Log: PR libstdc++/64168 * include/std/future (_Deferred_state::_M_has_deferred): Fix return. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/future
[Bug middle-end/64017] Support ISL 0.14.0 (to fix ICE with gfortran.dg/graphite/pr42393.f90)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64017 --- Comment #6 from howarth at bromo dot med.uc.edu --- AFAIKS, the define of CLOOG_INT_GMP is only used in the cloog headers... https://groups.google.com/forum/#!msg/cloog-development/IFqcHdgGpM4/UOAXxd00MXIJ so it islinc=-DCLOOG_INT_GMP ${islinc} should be removed now from config/isl.m4 and the top-level configure regenerated.
[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166 --- Comment #2 from dmalcolm at gcc dot gnu.org --- (In reply to Richard Biener from comment #1) Huh, I think you rather want a stable introspection (plugin) API. Like the treeish one that was proposed at some point but never was finished up. The JIT should provide the modification API only. Perhaps eventually, but that would involve a *lot* of changes: (A) writing this new API (B) having it be usable from the JIT API (C) probably other things I haven't thought of yet. I hope to tackle (A) and (B) in the gcc 6 timeframe. In the meantime, I have a mostly-working way of getting at the dumps via a new gcc_jit_context_enable_dump entrypoint, which looks like this: static char *trig_sincos_dump; static char *trig_statistics_dump; static void create_test_of_builtin_trig (gcc_jit_context *ctxt) { /* snip */ gcc_jit_context_enable_dump (ctxt, tree-sincos, trig_sincos_dump); gcc_jit_context_enable_dump (ctxt, statistics, trig_statistics_dump); /* snip */ } static void verify_test_of_builtin_trig (gcc_jit_context *ctxt, gcc_jit_result *result) { /* snip */ /* PR jit/64020: The sincos pass merges sin/cos calls into the cexpi builtin. Verify that a dump of the sincos pass was provided, and that it shows a call to the cexpi builtin on a SSA name of theta. */ CHECK_NON_NULL (trig_sincos_dump); CHECK_STRING_CONTAINS (trig_sincos_dump, = __builtin_cexpi (theta_); free (trig_sincos_dump); /* Similarly, verify that the statistics dump was provided, and that it shows the sincos optimization. */ CHECK_NON_NULL (trig_statistics_dump); CHECK_STRING_CONTAINS ( trig_statistics_dump, sincos \sincos statements inserted\ \test_of_builtin_trig\ 1); free (trig_statistics_dump); } I'm also experimenting with an API of capturing/verifying statistics: gcc_jit_context_set_bool_option (ctxt, GCC_JIT_BOOL_OPTION_GATHER_STATISTICS, 1); where the verify hook has: /* We expect exactly one sincos statement to be inserted. */ int sincos_count = gcc_jit_result_get_int_statistic (result, sincos statements inserted); if (sincos_count == 1) pass (%s: %i sincos statements inserted, test, sincos_count); else fail (%s: %i sincos statements inserted, test, sincos_count); (again, I have this mostly working already, but it might be nice to provide a richer querying API e.g. for narrowing things down e.g. to a particular function).
[Bug go/63731] Fallback to netgo does not work
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731 --- Comment #21 from boger at us dot ibm.com --- I'm confused by the description of -a in the go1.4 documentation. I asked about this before and the answer was that each invocation of 'go build' would create a copy of the built package which was then used for the current build but then thrown away. But that must not be the way it works?
[Bug libstdc++/64168] [5.0 regression] FAIL: 30_threads/async/sync.cc execution test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64168 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org --- .
[Bug c++/64127] [5 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org --- Started with r214396.
[Bug preprocessor/63831] [5 Regression] r217292 causes segfaults with -MM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63831 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org --- That looks wrong. You really can't keep the __has_attribute__(...) in the preprocessed stream, it should either be not recognized at all (for languages other than C/C++ - like for CLK_ASM or when the callback is NULL (think about Fortran preprocessing; that is done as if it was C89, but of course the callback is not defined and expanding __has_attribute__ doesn't make much sense in that case). And, for C/C++ preprocessing without compilation, i.e. c-ppoutput.c, you should IMHO just do very similar if not the same thing as in c-lex.c. If something needs initializing and has not been initialized for the attribute lookup, just initialize it lazily.
[Bug ipa/64163] [5 Regression] r218024 causes qt5 build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64163 --- Comment #5 from Markus Trippelsdorf trippels at gcc dot gnu.org --- Honza, this might well be another gold bug (on x86_64). With Alan's gold fix the unreduced testcase now compiles fine on ppc64 (with a few relocation refers to discarded section warnings).
[Bug c++/64169] New: Partial template specialization of reference-qualified operator templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64169 Bug ID: 64169 Summary: Partial template specialization of reference-qualified operator templates Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: knoepfel at fnal dot gov System : x86_64-apple-darwin13.4.0 options: -Wall -Wextra std: c++1y The preprocessed version of the below code looks identical except for the #include iostream contents. Consider the following code where I attempt to specialize the -qualified version of operator . BEGIN_CODE namespace { template typename T class A { public: template typename U A operator ( U const ) { std::cerr ... version\n; return std::move(*this); } template typename U A operator ( U const ) { std::cerr ... version\n; return *this; } }; template templatetypename U Aint Aint::operator ( U const ) { std::cerr ... version (int)\n; return *this; } } int main() { Adouble() ; Adouble adouble; adouble ; Aint() ; Aint aint; aint ; } END_CODE The gcc compile errors are: ref-qualified-operators.cpp:25:11: error: ambiguous template specialization ‘operator ’ for ‘{anonymous}::Aint {anonymous}::Aint::operator(const U) ’ Aint Aint::operator ( U const ) { ^ ref-qualified-operators.cpp:10:32: note: candidates are: templateclass U {anonymous}::AT {anonymous}::AT::operator(const U) [with U = U; T = int] template typename U A operator ( U const ) { ^ ref-qualified-operators.cpp:15:30: note: templateclass U {anonymous}::AT {anonymous}::AT::operator(const U) [with U = U; T = int] template typename U A operator ( U const ) { ^ The above code is accepted by clang 3.5 and outputs: ... version ... version ... version ... version (int)
[Bug fortran/44054] Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44054 --- Comment #20 from Manuel López-Ibáñez manu at gcc dot gnu.org --- Author: manu Date: Wed Dec 3 17:50:06 2014 New Revision: 218326 URL: https://gcc.gnu.org/viewcvs?rev=218326root=gccview=rev Log: gcc/testsuite/ChangeLog: 2014-12-03 Manuel López-Ibáñez m...@gcc.gnu.org PR fortran/44054 * gfortran.dg/warnings_are_errors_1.f90: Update warnings to errors. * gfortran.dg/warnings_are_errors_1.f: Likewise. gcc/fortran/ChangeLog: 2014-12-03 Manuel López-Ibáñez m...@gcc.gnu.org PR fortran/44054 * gfortran.h (gfc_warning): Now returns bool. Add overload that accepts opt. (gfc_warning_1): Declare. * error.c (pp_warning_buffer,warningcount_buffered,werrorcount_buffered):New. (gfc_buffer_error): Set pp_warning_buffer.flush_p. (gfc_clear_pp_buffer): New. (gfc_warning_1): Renamed from gfc_warning. (gfc_warning): Add three new overloads. One that takes just a format string and ellipsis, another that takes also a warning option, and another that takes also va_list instead of ellipsis. (gfc_clear_warning): Clear pp_warning_buffer. (gfc_warning_check): Flush pp_warning_buffer and update warning and werror counters. (gfc_diagnostics_init): Init pp_warning_buffer. * Update all gfc_warning calls that do not multiple locations to use %qs and OPT_W*, otherwise use gfc_warning_1. gcc/ChangeLog: 2014-12-03 Manuel López-Ibáñez m...@gcc.gnu.org PR fortran/44054 * pretty-print.c (output_buffer::output_buffer): Init flush_p to true. (pp_flush): Flush only if flush_p. (pp_really_flush): New. * pretty-print.h (struct output_buffer): Add flush_p. (pp_really_flush): Declare. Modified: trunk/gcc/ChangeLog trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/arith.c trunk/gcc/fortran/check.c trunk/gcc/fortran/decl.c trunk/gcc/fortran/dependency.c trunk/gcc/fortran/error.c trunk/gcc/fortran/expr.c trunk/gcc/fortran/frontend-passes.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/interface.c trunk/gcc/fortran/intrinsic.c trunk/gcc/fortran/io.c trunk/gcc/fortran/primary.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/scanner.c trunk/gcc/fortran/simplify.c trunk/gcc/fortran/symbol.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-common.c trunk/gcc/fortran/trans-decl.c trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans-intrinsic.c trunk/gcc/fortran/trans-stmt.c trunk/gcc/pretty-print.c trunk/gcc/pretty-print.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f trunk/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f90
[Bug target/64056] [5 Regression] gcc.target/i386/chkp-strlen-4.c etc. FAIL
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64056 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org --- So fixed?
[Bug sanitizer/64170] New: [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170 Bug ID: 64170 Summary: [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: sasha.levin at oracle dot com CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, y.gribov at samsung dot com, ygribov at gcc dot gnu.org Created attachment 34180 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34180action=edit Preprocessed source I'm seeing the following failure: $ gcc -v -Wp,-MD,drivers/media/rc/.imon.o.d -nostdinc -isystem /home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64 -mno-80387 -mno-fp-ret-in-387 -march=native -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining -Wframe-larger-than=2048 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -gdwarf-4 -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -fsanitize=kernel-address -fasan-shadow-offset=0xdfffe900 --param asan-instrumentation-with-call-threshold=1 -fsanitize=undefined -fno-sanitize=unreachable -fno-sanitize=float-cast-overflow -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(imon) -DKBUILD_MODNAME=KBUILD_STR(imon) -c -o drivers/media/rc/.tmp_imon.o drivers/media/rc/imon.c Using built-in specs. COLLECT_GCC=gcc Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/home/sasha/gcc-inst/ --with-arch=native --with-tune=native --enable-languages=c --enable-lto --enable-gold --enable-stage1-languages=c Thread model: posix gcc version 5.0.0 20141203 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-nostdinc' '-isystem' '/home/sasha/gcc-inst/lib/gcc/x86_64-unknown-linux-gnu/5.0.0/include' '-I' './arch/x86/include' '-I' 'arch/x86/include/generated' '-I' 'include' '-I' './arch/x86/include/uapi' '-I' 'arch/x86/include/generated/uapi' '-I' './include/uapi' '-I' 'include/generated/uapi' '-include' './include/linux/kconfig.h' '-D' '__KERNEL__' '-Wall' '-Wundef' '-Wstrict-prototypes' '-Wno-trigraphs' '-fno-strict-aliasing' '-fno-common' '-Werror=implicit-function-declaration' '-Wno-format-security' '-std=gnu90' '-m64' '-mno-80387' '-mno-fp-ret-in-387' '-march=native' '-mno-red-zone' '-mcmodel=kernel' '-funit-at-a-time' '-maccumulate-outgoing-args' '-D' 'CONFIG_X86_X32_ABI' '-D' 'CONFIG_AS_CFI=1' '-D' 'CONFIG_AS_CFI_SIGNAL_FRAME=1' '-D' 'CONFIG_AS_CFI_SECTIONS=1' '-D' 'CONFIG_AS_FXSAVEQ=1' '-D' 'CONFIG_AS_CRC32=1' '-D' 'CONFIG_AS_AVX=1' '-D' 'CONFIG_AS_AVX2=1' '-pipe' '-Wno-sign-compare' '-fno-asynchronous-unwind-tables' '-mno-sse' '-mno-mmx' '-mno-sse2' '-mno-3dnow' '-mno-avx' '-fno-delete-null-pointer-checks' '-O2' '--param' 'allow-store-data-races=0' '-fno-reorder-blocks' '-fno-ipa-cp-clone' '-fno-partial-inlining' '-Wframe-larger-than=2048' '-fstack-protector' '-Wno-unused-but-set-variable' '-fno-omit-frame-pointer' '-fno-optimize-sibling-calls' '-fno-var-tracking-assignments' '-g' '-gdwarf-4' '-pg' '-mfentry' '-D' 'CC_USING_FENTRY' '-Wdeclaration-after-statement' '-Wno-pointer-sign' '-fno-strict-overflow' '-fconserve-stack' '-Werror=implicit-int' '-Werror=strict-prototypes' '-Werror=date-time' '-D' 'CC_HAVE_ASM_GOTO' '-fsanitize=kernel-address' '-fasan-shadow-offset=0xdfffe900' '--param' 'asan-instrumentation-with-call-threshold=1' '-fsanitize=undefined' '-fno-sanitize=unreachable' '-fno-sanitize=float-cast-overflow' '-D' 'KBUILD_STR(s)=#s' '-D' 'KBUILD_BASENAME=KBUILD_STR(imon)' '-D' 'KBUILD_MODNAME=KBUILD_STR(imon)' '-c' '-o' 'drivers/media/rc/.tmp_imon.o' /home/sasha/gcc-inst/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/cc1 -quiet -nostdinc -v -I ./arch/x86/include -I arch/x86/include/generated -I include -I
[Bug go/63731] Fallback to netgo does not work
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731 --- Comment #22 from Ian Lance Taylor ian at airs dot com --- I'm not sure why you say that it must not be the way it works. It is the way it works. The recent change to Go 1.4 is that the -a option does not apply to the standard library. I don't know whether that is a good idea or not.
[Bug go/63731] Fallback to netgo does not work
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731 --- Comment #23 from boger at us dot ibm.com --- If I look at this documentation: http://tip.golang.org/doc/go1.4#gocmd It says this: The behavior of the go build subcommand's -a flag has been changed for non-development installations. For installations running a released distribution, the -a flag will no longer rebuild the standard library and commands, to avoid overwriting the installation's files. When I read this it sounds like the previous behavior with the -a option was to rebuild the packages and put the newly built packages into the installed directories, including the standard library. If everyone who used 'go build' with -a generated their own copy of the built packages and then threw them away, how would the installation's files ever get overwritten?
[Bug libstdc++/42734] trivial use of std::thread fails with pure virtual method called
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42734 Alexander Varnin fenixk19 at mail dot ru changed: What|Removed |Added CC||fenixk19 at mail dot ru --- Comment #42 from Alexander Varnin fenixk19 at mail dot ru --- I confirm an issue with G++ 4.8.2 and ARM platform. The platform is Freescale IMX53. OS build with yocto system using these instructions: https://github.com/Freescale/fsl-community-bsp-platform uname -a: Linux imx53qsb 2.6.35.3-gb51e9aa-dirty #34 PREEMPT Wed Dec 3 19:47:54 MSK 2014 armv7l GNU/Linux
[Bug target/64019] ICE in extract_constrain_insn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64019 --- Comment #3 from Michael Meissner meissner at gcc dot gnu.org --- Author: meissner Date: Wed Dec 3 18:39:22 2014 New Revision: 218327 URL: https://gcc.gnu.org/viewcvs?rev=218327root=gccview=rev Log: [gcc] 2014-12-03 Michael Meissner meiss...@linux.vnet.ibm.com PR target/64019 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do not create LO_SUM address for constant addresses if the type can go in Altivec registers. [gcc/testsuite] 2014-12-03 Michael Meissner meiss...@linux.vnet.ibm.com PR target/64019 * gcc.target/powerpc/pr64019.c: New file. Added: trunk/gcc/testsuite/gcc.target/powerpc/pr64019.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c trunk/gcc/testsuite/ChangeLog
[Bug c++/63558] cannot silence jump to case label with fpermissive
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63558 --- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org --- Author: paolo Date: Wed Dec 3 18:41:42 2014 New Revision: 218328 URL: https://gcc.gnu.org/viewcvs?rev=218328root=gccview=rev Log: /cp 2014-12-03 Paolo Carlini paolo.carl...@oracle.com PR c++/63558 * decl.c (identify_goto): Return a bool if diagnostic is emitted. (check_previous_goto_1): Consistently emit permerror + inform. (check_goto): Likewise. /testsuite 2014-12-03 Paolo Carlini paolo.carl...@oracle.com PR c++/63558 * g++.dg/init/goto3.C: New. * g++.dg/eh/goto2.C: Adjust. * g++.dg/ext/vla14.C: Likewise. * g++.dg/gomp/block-1.C: Likewise. * g++.dg/gomp/block-2.C: Likewise. * g++.dg/gomp/block-3.C: Likewise. * g++.dg/gomp/block-5.C: Likewise. * g++.dg/gomp/target-1.C: Likewise. * g++.dg/gomp/target-2.C: Likewise. * g++.dg/gomp/taskgroup-1.C: Likewise. * g++.dg/gomp/teams-1.C: Likewise. * g++.dg/init/goto2.C: Likewise. * g++.dg/warn/pedantic1.C: Likewise. * g++.old-deja/g++.jason/jump.C: Likewise. * g++.old-deja/g++.law/arm6.C: Likewise. * g++.old-deja/g++.other/goto1.C: Likewise. * g++.old-deja/g++.other/goto3.C: Likewise. * g++.old-deja/g++.other/init9.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/init/goto3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/eh/goto2.C trunk/gcc/testsuite/g++.dg/ext/vla14.C trunk/gcc/testsuite/g++.dg/gomp/block-1.C trunk/gcc/testsuite/g++.dg/gomp/block-2.C trunk/gcc/testsuite/g++.dg/gomp/block-3.C trunk/gcc/testsuite/g++.dg/gomp/block-5.C trunk/gcc/testsuite/g++.dg/gomp/target-1.C trunk/gcc/testsuite/g++.dg/gomp/target-2.C trunk/gcc/testsuite/g++.dg/gomp/taskgroup-1.C trunk/gcc/testsuite/g++.dg/gomp/teams-1.C trunk/gcc/testsuite/g++.dg/init/goto2.C trunk/gcc/testsuite/g++.dg/warn/pedantic1.C trunk/gcc/testsuite/g++.old-deja/g++.jason/jump.C trunk/gcc/testsuite/g++.old-deja/g++.law/arm6.C trunk/gcc/testsuite/g++.old-deja/g++.other/goto1.C trunk/gcc/testsuite/g++.old-deja/g++.other/goto3.C trunk/gcc/testsuite/g++.old-deja/g++.other/init9.C
[Bug c++/63558] cannot silence jump to case label with fpermissive
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63558 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot gnu.org Target Milestone|--- |5.0 --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com --- Fixed.
[Bug sanitizer/64170] [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-12-03 Target Milestone|--- |5.0 Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org --- Reduced testcase with -O2 -fsanitize=address,null : int a, *b, c; void bar (int); void foo (void) { char *d = b; if (d[0] d[1]) return; if (c) a = *(int *) d; bar (*(int *) d); }
[Bug c++/62212] ICE compiling template function with array reference parameter whose size depends on a template parameter
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62212 --- Comment #1 from Lewis Hyatt lhyatt at gmail dot com --- Hello- FYI this problem still exists on the mainline. I see the bug remains unconfirmed, please let me know if more information would be useful, the testcase was pretty simple so I just pasted it inline in the first report. Thanks! -Lewis
[Bug fortran/63529] Bad error and ICE with Cray Pointers in Modules
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63529 --- Comment #8 from russelldub at gmail dot com --- Not sure what correct etiquette is for checking on bug status, but this has been sitting for close to two months now, so I thought I would poke my head in again.
[Bug go/63731] Fallback to netgo does not work
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63731 --- Comment #24 from Ian Lance Taylor ian at airs dot com --- They would not have been overwritten, unless you used go install -a. That line in the doc may be misleading.
[Bug c++/64171] New: Hang whilst printing error message on invalid code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64171 Bug ID: 64171 Summary: Hang whilst printing error message on invalid code Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jleahy+gcc at gmail dot com Created attachment 34181 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34181action=edit full preprocessed source The following code is invalid (the constness 'var' doesn't match), but the compiler seems to enter an infinite loop whilst printing the error message. I've attached full preprocessed source. The target is x86_64-unknown-linux-gnu. Code: #include unordered_map struct X { static X * fromString(); X(int x, int y); static const std::unordered_mapint, X var; }; std::unordered_mapint, X X::var = { {0, X(0, 0)}, }; X * X::fromString() { std::unordered_mapint, X::iterator it = var.find(0); if (it == var.end()) return 0; return (it-second); } Complete output: (upto point where compiler hangs) bug.cpp:13:31: error: conflicting declaration 'std::unordered_mapint, X X::var' std::unordered_mapint, X X::var = { ^ bug.cpp:9:45: note: previous declaration as 'const std::unordered_mapint, X X::var' static const std::unordered_mapint, X var; ^ bug.cpp:13:31: error: declaration of 'const std::unordered_mapint, X X::var' outside of class is not definition [-fpermissive] std::unordered_mapint, X X::var = { ^ bug.cpp: In static member function 'static X* X::fromString()': bug.cpp:19:57: error: conversion from 'std::unordered_mapint, X::const_iterator {aka std::__detail::_Node_const_iteratorstd::pairconst int, X, false, false}' to non-scalar type 'std::unordered_mapint, X::iterator {aka std::__detail::_Node_iteratorstd::pairconst int, X, false, false}' requested std::unordered_mapint, X::iterator it = var.find(0); ^
[Bug libstdc++/13631] Problems in messages
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=13631 --- Comment #33 from François Dumont fdumont at gcc dot gnu.org --- Author: fdumont Date: Wed Dec 3 19:47:00 2014 New Revision: 218329 URL: https://gcc.gnu.org/viewcvs?rev=218329root=gccview=rev Log: 2014-12-03 François Dumont fdum...@gcc.gnu.org PR libstdc++/13631 * include/bits/codecvt.h (codecvtchar, char, mbstate_t): friend class std::messageschar. (codecvtwchar_t, char, mbstate_t): friend class std::messageswchar_t. * config/locale/gnu/messages_member.h (messageschar::do_open): Specialized. (messageschar::do_close): Likewise. (messageswchar_t::do_open): Likewise. (messageswchar_t::do_close): Likewise. * config/locale/gnu/messages_member.cc: (messageschar::do_open): Implement. Use bind_textdomain_codeset based on codecvtchar, char, mbstate_t._M_c_locale_codecvt code set. Use internal cache to keep opened domain name with locale information. (messageswchar_t::do_open): Likewise with codecvtwchar_t, char, mbstate_t. (messageschar::do_close): Implement. Clean cache information. (messageswchar_t::do_close): Likewise. (get_glibc_msg): New. Use dgettext rather than gettext using cached domain name associated to catalog id. (messageschar::do_get): Use latter. (messageswchar_t::do_get): Likewise and use also cached locale codecvtwchar_t, char, mbstate_t facet to convert wchar_t default value to char and the result back to wchar_t. * testsuite/22_locale/messages/13631.cc: New. * testsuite/22_locale/messages/members/char/2.cc: Use also fr_FR locale for charset conversion to get the expected accented character. Added: trunk/libstdc++-v3/testsuite/22_locale/messages/13631.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/config/locale/gnu/messages_members.cc trunk/libstdc++-v3/config/locale/gnu/messages_members.h trunk/libstdc++-v3/include/bits/codecvt.h trunk/libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
[Bug sanitizer/64170] [5 Regression] ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64170 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org --- Created attachment 34182 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34182action=edit gcc5-pr64170.patch Untested fix. The bug was that maybe_get_dominating_check wasn't called on *base_checks if it returned non-NULL on *ptr_checks. But that function has two purposes, one is to clean up the vector, so that it doesn't contain any stale stmts (and this is what can_remove_asan_check relies on), the other is to return the last element in the vector if there are still any.