[Bug target/71680] [7 Regression] ICE: Max. number of generated reload insns per insn is achieved (90) w/ -Os -mlra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71680 --- Comment #15 from Arseny Solokha --- (In reply to Alan Modra from comment #14) > Arseny, you might like to try this. I don't have the means at the moment to > properly test e500 support (ie. run the gcc testsuite) without building a > whole lot of infrastructure. This patch fixed the original issue and survived regression testing w/o introducing any new regression.
[Bug c++/72809] ICE on x86_64-linux-gnu (Segmentation fault, tree_check)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72809 --- Comment #1 from Jakub Jelinek --- Author: jakub Date: Tue Aug 9 07:23:47 2016 New Revision: 239272 URL: https://gcc.gnu.org/viewcvs?rev=239272&root=gcc&view=rev Log: PR c++/72809 * rtti.c (get_pseudo_ti_index): Return TK_CLASS_TYPE for builtin aggregate types without TYPE_BINFO. * g++.dg/eh/stdarg1.C: New test. Added: trunk/gcc/testsuite/g++.dg/eh/stdarg1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/rtti.c trunk/gcc/testsuite/ChangeLog
[Bug bootstrap/72829] [7 Regression] ICE in extract_constrain_insn, at recog.c:2211 (error: insn does not satisfy its constraints) on 32-bit BE powerpc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72829 Arseny Solokha changed: What|Removed |Added See Also|https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=69847 | --- Comment #1 from Arseny Solokha --- (In reply to Arseny Solokha from comment #0) > I believe this could be either a fallout after PR69847, or a result of > turning LRA on by default. The latter: % powerpc-e500v2-linux-gnuspe-gcc-7.0.0-alpha20160731 -c -O2 -mlra -o tt tt.c tt.c: In function 'internal_strncpy': tt.c:17:1: error: insn does not satisfy its constraints: } ^ (insn 101 97 118 7 (parallel [ (set (reg:CC 75 7 [209]) (compare:CC (reg/v:SI 4 4 [orig:194 n ] [194]) (const_int 0 [0]))) (set (reg:SI 66 ctr [orig:208 n ] [208]) (reg/v:SI 4 4 [orig:194 n ] [194])) ]) 453 {*movsi_internal2} (nil)) tt.c:17:1: internal compiler error: in extract_constrain_insn, at recog.c:2211
[Bug target/68273] [5/6/7 Regression] Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273 --- Comment #38 from Richard Biener --- Author: rguenth Date: Tue Aug 9 07:38:13 2016 New Revision: 239273 URL: https://gcc.gnu.org/viewcvs?rev=239273&root=gcc&view=rev Log: 2016-08-09 Richard Biener PR ipa/68273 * ipa-prop.c (ipa_modify_formal_parameters): Build parameter types with natural alignment also for the over-aligned case. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-prop.c
[Bug tree-optimization/71802] [7 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in expand_LOOP_VECTORIZED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71802 --- Comment #5 from Richard Biener --- Author: rguenth Date: Tue Aug 9 07:40:50 2016 New Revision: 239274 URL: https://gcc.gnu.org/viewcvs?rev=239274&root=gcc&view=rev Log: 2016-08-09 Richard Biener PR tree-optimization/71802 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Make sure to catch all merge opportunities with the predecessor. * gcc.dg/torture/pr71802.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr71802.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-cfgcleanup.c
[Bug c++/72849] New: [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 Bug ID: 72849 Summary: [7 Regression] r239267 causes Firefox build failure Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Target Milestone: --- trippels@gcc2-power8 thebes % /home/trippels/gcc_test/usr/local/bin/c++ -w -c Unified_cpp_gfx_thebes0.ii In file included from /home/trippels/gecko-dev/gfx/thebes/gfxBaseSharedMemorySurface.cpp:1:0, from /home/trippels/moz-build-dir/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:29: /home/trippels/gecko-dev/gfx/thebes/gfxBaseSharedMemorySurface.h: In static member function ‘static bool gfxBaseSharedMemorySurface::IsSharedImage(gfxASurface*)’: /home/trippels/gecko-dev/gfx/thebes/gfxBaseSharedMemorySurface.h:96:39: internal compiler error: Segmentation fault const gfxIntSize& aSize, ^~~ 0x10b014d3 crash_signal ../../gcc/gcc/toplev.c:335 0x102a9114 tree_check ../../gcc/gcc/tree.h:3022 0x102a9114 is_really_empty_class(tree_node*) ../../gcc/gcc/cp/class.c:8426 0x1047aad3 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:3702 0x1047331f cxx_eval_outermost_constant_expr ../../gcc/gcc/cp/constexpr.c:4383 0x10483a03 fold_non_dependent_expr(tree_node*) ../../gcc/gcc/cp/constexpr.c:4662 0x1020d997 build_non_dependent_expr(tree_node*) ../../gcc/gcc/cp/pt.c:23802 0x1035b9cb build_x_unary_op(unsigned int, tree_code, cp_expr, int) ../../gcc/gcc/cp/typeck.c:5353 0x1030b287 cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:7966 0x10317bcf cp_parser_cast_expression ../../gcc/gcc/cp/parser.c:8693 0x10318357 cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:8795 0x10318e93 cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:9083 0x1031b30f cp_parser_parenthesized_expression_list ../../gcc/gcc/cp/parser.c:7487 0x1030d7e3 cp_parser_postfix_expression ../../gcc/gcc/cp/parser.c:6795 0x1030b06f cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:8016 0x10317bcf cp_parser_cast_expression ../../gcc/gcc/cp/parser.c:8693 0x1031872f cp_parser_simple_cast_expression ../../gcc/gcc/cp/parser.c:26014 0x1031872f cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:8858 0x10318e93 cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:9083 0x1031c667 cp_parser_expression ../../gcc/gcc/cp/parser.c:9250 Please submit a full bug report, Reducing...
[Bug tree-optimization/72824] [5/6/7 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72824 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Tue Aug 9 07:49:14 2016 New Revision: 239275 URL: https://gcc.gnu.org/viewcvs?rev=239275&root=gcc&view=rev Log: PR tree-optimization/72824 * tree-loop-distribution.c (const_with_all_bytes_same): Verify real_zerop is not negative. * gcc.c-torture/execute/ieee/pr72824.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/execute/ieee/pr72824.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-loop-distribution.c
[Bug tree-optimization/72824] [5/6 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72824 Jakub Jelinek changed: What|Removed |Added Known to work||7.0 Summary|[5/6/7 Regression] Signed |[5/6 Regression] Signed |floating point zero |floating point zero |semantics broken at |semantics broken at |optimization level -O3 |optimization level -O3 |(tree-loop-distribute-patte |(tree-loop-distribute-patte |rns)|rns) Known to fail|7.0 | --- Comment #6 from Jakub Jelinek --- Fixed on the trunk so far.
[Bug c++/72809] ICE on x86_64-linux-gnu (Segmentation fault, tree_check)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72809 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jakub at gcc dot gnu.org Resolution|--- |FIXED --- Comment #2 from Jakub Jelinek --- Fixed.
[Bug fortran/72716] [5/6 Regression] ICE in gfc_resolve_omp_declare_simd, at fortran/openmp.c:5156
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72716 Jakub Jelinek changed: What|Removed |Added Target Milestone|--- |5.5 Summary|[5/6/7 Regression] ICE in |[5/6 Regression] ICE in |gfc_resolve_omp_declare_sim |gfc_resolve_omp_declare_sim |d, at fortran/openmp.c:5156 |d, at fortran/openmp.c:5156 --- Comment #4 from Jakub Jelinek --- Fixed on the trunk so far.
[Bug gcov-profile/58306] Broken profiling for unrar sources: error: corrupted value profile: value profile counter (X out of Y) inconsistent with basic-block count
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306 --- Comment #26 from Artem S. Tashkinov --- (In reply to Martin Liška from comment #24) > > Wonderful! What are the chances of this patch being merged with GCC 4.9.x? > > Any, because 4.9 was closed last week and there's not going to be any > release. > If you are interested, I can back-port patches to both 5 and 6 branches? Only if it's relatively straightforward and fast for you. Since you're such a prolific bug solver, the project will benefit a lot more if you keep on solving new unresolved bugs, instead of backporting them. So, suit yourself. And thank you very much!
[Bug target/71629] [7 Regression] ICE in lra_set_insn_recog_data, at lra.c:964 w/ -O2 -mlra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71629 --- Comment #1 from Arseny Solokha --- -fstack-protector -fPIC are also necessary here, just like in PR71680.
[Bug tree-optimization/71802] [7 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in expand_LOOP_VECTORIZED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71802 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Richard Biener --- Fixed.
[Bug tree-optimization/38401] TreeSSA-PRE load after store missed optimization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38401 --- Comment #27 from Richard Biener --- I'm testing my original patch now and have thrown it on one of our SPEC testers as well.
[Bug tree-optimization/43817] Runtime endian-ness check is not optimized on the tree level
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43817 Richard Biener changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.7.0 Resolution|--- |FIXED Target Milestone|--- |4.7.0 Known to fail||4.6.4 --- Comment #3 from Richard Biener --- 4.7 actually.
[Bug c++/72849] [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||jason at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf --- extern struct Foo a; template void fn1() { a; }
[Bug middle-end/71078] x/abs(x) -> sign(1.0,x)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71078 Thomas Preud'homme changed: What|Removed |Added Status|RESOLVED|REOPENED CC||thopre01 at gcc dot gnu.org Resolution|FIXED |--- --- Comment #10 from Thomas Preud'homme --- Hi, The following tests are still failing for me on arm-none-eabi targets: FAIL: gcc.dg/tree-ssa/pr71078-1.c scan-tree-dump forwprop1 "__builtin_copysignf" FAIL: gcc.dg/tree-ssa/pr71078-1-double.c scan-tree-dump forwprop1 "__builtin_copysign" FAIL: gcc.dg/tree-ssa/pr71078-2.c scan-tree-dump forwprop1 "__builtin_copysignf" FAIL: gcc.dg/tree-ssa/pr71078-2-double.c scan-tree-dump forwprop1 "__builtin_copysign" FAIL: gcc.dg/tree-ssa/pr71078-3.c scan-tree-dump forwprop1 "__builtin_copysign" My investigation for pr71078-1.c led me to the first if block in gimple_fold_stmt_to_constant_1. if gimple_simplify returns true as it does when matching the x / abs(x) -> copysign (1.0, x) match.pd pattern. However gimple_simplified_result_is_gimple_val is false because copysign is a builtin and mprts_hook is NULL at this point. The switch that follows goes in GIMPLE_BINARY_RHS case to return NULL_TREE because it does not recognize an operation it knows about. I suspect the same happens for the other testcases.
[Bug middle-end/71078] x/abs(x) -> sign(1.0,x)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71078 --- Comment #11 from prathamesh3492 at gcc dot gnu.org --- (In reply to Thomas Preud'homme from comment #10) > Hi, > > The following tests are still failing for me on arm-none-eabi targets: > > FAIL: gcc.dg/tree-ssa/pr71078-1.c scan-tree-dump forwprop1 > "__builtin_copysignf" > FAIL: gcc.dg/tree-ssa/pr71078-1-double.c scan-tree-dump forwprop1 > "__builtin_copysign" > FAIL: gcc.dg/tree-ssa/pr71078-2.c scan-tree-dump forwprop1 > "__builtin_copysignf" > FAIL: gcc.dg/tree-ssa/pr71078-2-double.c scan-tree-dump forwprop1 > "__builtin_copysign" > FAIL: gcc.dg/tree-ssa/pr71078-3.c scan-tree-dump forwprop1 > "__builtin_copysign" > > > My investigation for pr71078-1.c led me to the first if block in > gimple_fold_stmt_to_constant_1. if gimple_simplify returns true as it does > when matching the x / abs(x) -> copysign (1.0, x) match.pd pattern. However > gimple_simplified_result_is_gimple_val is false because copysign is a > builtin and mprts_hook is NULL at this point. > > The switch that follows goes in GIMPLE_BINARY_RHS case to return NULL_TREE > because it does not recognize an operation it knows about. > > I suspect the same happens for the other testcases. Hi, I committed r239255, which restricts the test-cases to c99_runtime because they were failing on bare-metal arm and aarch64 targets, The commit worked for me. Could you please try with r239255 ? Thanks, Prathamesh
[Bug middle-end/71078] x/abs(x) -> sign(1.0,x)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71078 --- Comment #12 from rguenther at suse dot de --- On Tue, 9 Aug 2016, thopre01 at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71078 > > Thomas Preud'homme changed: > >What|Removed |Added > > Status|RESOLVED|REOPENED > CC||thopre01 at gcc dot gnu.org > Resolution|FIXED |--- > > --- Comment #10 from Thomas Preud'homme --- > Hi, > > The following tests are still failing for me on arm-none-eabi targets: > > FAIL: gcc.dg/tree-ssa/pr71078-1.c scan-tree-dump forwprop1 > "__builtin_copysignf" > FAIL: gcc.dg/tree-ssa/pr71078-1-double.c scan-tree-dump forwprop1 > "__builtin_copysign" > FAIL: gcc.dg/tree-ssa/pr71078-2.c scan-tree-dump forwprop1 > "__builtin_copysignf" > FAIL: gcc.dg/tree-ssa/pr71078-2-double.c scan-tree-dump forwprop1 > "__builtin_copysign" > FAIL: gcc.dg/tree-ssa/pr71078-3.c scan-tree-dump forwprop1 > "__builtin_copysign" > > > My investigation for pr71078-1.c led me to the first if block in > gimple_fold_stmt_to_constant_1. if gimple_simplify returns true as it does > when > matching the x / abs(x) -> copysign (1.0, x) match.pd pattern. However > gimple_simplified_result_is_gimple_val is false because copysign is a builtin > and mprts_hook is NULL at this point. > > The switch that follows goes in GIMPLE_BINARY_RHS case to return NULL_TREE > because it does not recognize an operation it knows about. > > I suspect the same happens for the other testcases. forwprop uses fold_stmt, not gimple_fold_stmt_to_constant. The relevant condition is in replace_stmt_with_simplification / maybe_push_res_to_seq: /* Find the function we want to call. */ tree decl = builtin_decl_implicit (as_builtin_fn (fn)); if (!decl) return NULL;
[Bug middle-end/71078] x/abs(x) -> sign(1.0,x)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71078 Thomas Preud'homme changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #13 from Thomas Preud'homme --- (In reply to prathamesh3492 from comment #11) > (In reply to Thomas Preud'homme from comment #10) > > Hi, > > > > The following tests are still failing for me on arm-none-eabi targets: > > > > FAIL: gcc.dg/tree-ssa/pr71078-1.c scan-tree-dump forwprop1 > > "__builtin_copysignf" > > FAIL: gcc.dg/tree-ssa/pr71078-1-double.c scan-tree-dump forwprop1 > > "__builtin_copysign" > > FAIL: gcc.dg/tree-ssa/pr71078-2.c scan-tree-dump forwprop1 > > "__builtin_copysignf" > > FAIL: gcc.dg/tree-ssa/pr71078-2-double.c scan-tree-dump forwprop1 > > "__builtin_copysign" > > FAIL: gcc.dg/tree-ssa/pr71078-3.c scan-tree-dump forwprop1 > > "__builtin_copysign" > > > > > > My investigation for pr71078-1.c led me to the first if block in > > gimple_fold_stmt_to_constant_1. if gimple_simplify returns true as it does > > when matching the x / abs(x) -> copysign (1.0, x) match.pd pattern. However > > gimple_simplified_result_is_gimple_val is false because copysign is a > > builtin and mprts_hook is NULL at this point. > > > > The switch that follows goes in GIMPLE_BINARY_RHS case to return NULL_TREE > > because it does not recognize an operation it knows about. > > > > I suspect the same happens for the other testcases. > Hi, > I committed r239255, which restricts the test-cases to c99_runtime > because they were failing on bare-metal arm and aarch64 targets, > The commit worked for me. > Could you please try with r239255 ? Sorry for the fuss, it is indeed fixed. The build was from few hours before. Thanks! Best regards.
[Bug c++/72811] ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: in instantiate_type, perform_implicit_conversion_flags)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72811 Martin Liška changed: What|Removed |Added Keywords||ice-on-invalid-code Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||marxin at gcc dot gnu.org Target Milestone|--- |5.5 Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed, ICEs for revisions I have (4.5.0+).
[Bug testsuite/72850] New: FAIL: gcc.dg/tree-ssa/pr69270-3.c scan-tree-dump-times uncprop1 ", 1" 4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72850 Bug ID: 72850 Summary: FAIL: gcc.dg/tree-ssa/pr69270-3.c scan-tree-dump-times uncprop1 ", 1" 4 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: thopre01 at gcc dot gnu.org CC: hubicka at gcc dot gnu.org Target Milestone: --- Target: arm-none-eabi Created attachment 39086 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39086&action=edit uncprop1, thread1, thread2, thread3 and thread4 dump before and after Hi, As of r239219, gcc.dg/tree-ssa/pr69270-3.c started to FAIL on arm-none-eabi targets for its scan-tree-dump-times uncprop1 ", 1" 4 check. Attached to this bug report are the dumps for uncprop1 and threads passes before and after that commit. The FAIL happens at least for Cortex-M0, Cortex-M3, Cortex-M4 and Cortex-M7 ARM CPUs. Best regards.
[Bug c/66415] [6 Regression] ice in location_column_from_byte_offset
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66415 --- Comment #11 from Andreas Schwab --- FAIL: gcc.dg/cpp/pr66415-1.c expected multiline pattern lines 11-12 not found: "\s*__builtin_printf \("x%dxxx"\);.*\n ~\^\n" FAIL: gcc.dg/cpp/pr66415-1.c (test for excess errors) Excess errors: __builtin_printf ("x%dxxx"); /* { dg-warning "71:format" } */ ~^ There are only 68 spaces before '~'.
[Bug testsuite/72850] FAIL: gcc.dg/tree-ssa/pr69270-3.c scan-tree-dump-times uncprop1 ", 1" 4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72850 Andreas Schwab changed: What|Removed |Added Target|arm-none-eabi | --- Comment #1 from Andreas Schwab --- If fails everywhere.
[Bug tree-optimization/72835] [Regression 7] Incorrect arithmetic optimization involving bitfield arguments
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72835 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||kuganv at linaro dot org, ||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed, it's caused by tree-reassoc pass: $ g++ pr72835.cpp -O2 -fno-tree-reassoc ; ./a.out 4098873984
[Bug tree-optimization/71881] [6 Regression] ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71881 --- Comment #10 from Richard Biener --- Author: rguenth Date: Tue Aug 9 10:49:36 2016 New Revision: 239277 URL: https://gcc.gnu.org/viewcvs?rev=239277&root=gcc&view=rev Log: 2016-08-09 Richard Biener Backport from mainline 2016-08-09 Richard Biener PR ipa/68273 * ipa-prop.c (ipa_modify_formal_parameters): Build parameter types with natural alignment also for the over-aligned case. 2016-07-15 Richard Biener PR tree-optimization/71881 * tree-loop-distribution.c (destroy_loop): Remove blocks in reverse DOM order to make debug temp generation happy. * gcc.dg/torture/pr71881.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71881.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/ipa-prop.c branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-loop-distribution.c
[Bug target/68273] [5/6/7 Regression] Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273 --- Comment #39 from Richard Biener --- Author: rguenth Date: Tue Aug 9 10:49:36 2016 New Revision: 239277 URL: https://gcc.gnu.org/viewcvs?rev=239277&root=gcc&view=rev Log: 2016-08-09 Richard Biener Backport from mainline 2016-08-09 Richard Biener PR ipa/68273 * ipa-prop.c (ipa_modify_formal_parameters): Build parameter types with natural alignment also for the over-aligned case. 2016-07-15 Richard Biener PR tree-optimization/71881 * tree-loop-distribution.c (destroy_loop): Remove blocks in reverse DOM order to make debug temp generation happy. * gcc.dg/torture/pr71881.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71881.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/ipa-prop.c branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-loop-distribution.c
[Bug target/68273] [5 Regression] Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273 Richard Biener changed: What|Removed |Added Known to work||6.2.0, 7.0 Summary|[5/6/7 Regression] Wrong|[5 Regression] Wrong code |code on mips/mipsel due to |on mips/mipsel due to |(invalid?) peeking at |(invalid?) peeking at |alignments in function_arg. |alignments in function_arg. Known to fail||6.1.0 --- Comment #40 from Richard Biener --- Mitigated on trunk and the GCC 6 branch (correct me if I am wrong).
[Bug tree-optimization/71881] [6 Regression] ICE on valid code at -O3 with -g enabled on x86_64-linux-gnu: cannot update SSA form
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71881 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||6.2.0 Resolution|--- |FIXED Known to fail||6.1.0 --- Comment #11 from Richard Biener --- Fixed.
[Bug driver/72765] Dynamic stack buffer overflow in GCC driver with -save-temps switch.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72765 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||marxin at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed, I've got a patch which I'll send to ML soon.
[Bug bootstrap/72848] profiledbootstrap: internal compiler error: in streamer_write_gcov_count_stream, at data-streamer-out.c:366
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72848 --- Comment #1 from Richard Biener --- I wonder whether HWI is 32bits in your case. You'll hit the assert when a counter overflow occurs.
[Bug testsuite/72850] [7 Regression] FAIL: gcc.dg/tree-ssa/pr69270-3.c scan-tree-dump-times uncprop1 ", 1" 4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72850 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 Target Milestone|--- |7.0 Summary|FAIL: |[7 Regression] FAIL: |gcc.dg/tree-ssa/pr69270-3.c |gcc.dg/tree-ssa/pr69270-3.c |scan-tree-dump-times|scan-tree-dump-times |uncprop1 ", 1" 4|uncprop1 ", 1" 4 Ever confirmed|0 |1 --- Comment #2 from Richard Biener --- Confirmed.
[Bug c++/72849] [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug bootstrap/72829] [7 Regression] ICE in extract_constrain_insn, at recog.c:2211 (error: insn does not satisfy its constraints) on 32-bit BE powerpc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72829 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug debug/72828] ICE in clone_tree_partial when compiling with -fdebug-types-section
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72828 Richard Biener changed: What|Removed |Added Target Milestone|5.5 |--- Summary|[5/6/7 Regression] ICE in |ICE in clone_tree_partial |clone_tree_partial when |when compiling with |compiling with |-fdebug-types-section |-fdebug-types-section | Known to fail||5.4.0, 6.1.0, 7.0 --- Comment #5 from Richard Biener --- The testcase doesn't compile with 4.9 or earlier. Not a regression. Please always have a known-to-work version when marking things as regression.
[Bug libstdc++/72830] istream::seekg should not reset eofbit if -std=c++98
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72830 --- Comment #1 from Richard Biener --- GCC 4.6 is no longer maintained, please try GCC 5 or newer.
[Bug rtl-optimization/72831] [7 Regression] Conditional jump or move depends on uninitialised value: regno_in_use_p (lra-spills.c:701)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72831 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug libgcj/72834] [5/6/7 Regression] the gij interpreter seems to be broken on linux 64bit big endian targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72834 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug tree-optimization/72835] [7 Regression] Incorrect arithmetic optimization involving bitfield arguments
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72835 Richard Biener changed: What|Removed |Added Known to work||6.1.0 Target Milestone|--- |7.0 Summary|[Regression 7] Incorrect|[7 Regression] Incorrect |arithmetic optimization |arithmetic optimization |involving bitfield |involving bitfield |arguments |arguments --- Comment #2 from Richard Biener --- C testcase: struct struct_1 { unsigned int m1 : 6 ; unsigned int m2 : 24 ; unsigned int m3 : 6 ; }; unsigned short var_32 = 0x2d10; struct struct_1 s1; void init () { s1.m1 = 4; s1.m2 = 0x7ca4b8; s1.m3 = 24; } void foo () { unsigned int c = // 0x7ca4b8 * -(24) ((unsigned int) s1.m2) * (-((unsigned int) s1.m3)) + // 0x2d10 * -(4) = 0xb440 (var_32) * (-((unsigned int) (s1.m1))); if (c != 4098873984) __builtin_abort (); } int main () { init (); foo (); return 0; }
[Bug bootstrap/72823] [7 Regression] r239175 causes build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72823 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72827 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug libstdc++/72813] [6/7 Regression] atomic header cannot be compiled into translation unit with -fkeep-inline-functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72813 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.2
[Bug gcov-profile/44779] The gcov library does not adequately handle functions with constructor/destructor attributes
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44779 Martin Liška changed: What|Removed |Added Status|WAITING |RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |INVALID --- Comment #6 from Martin Liška --- (In reply to Jay Vaughan from comment #0) > I am developing a software system which has the requirement (as it is > safety-critical), that we report full coverage of our modules as part of the > validation process. > > One aspect of this software system is the inclusion of a library - lets call > it libguardian - which is wrapped around all applications being run on our > custom system, using LD_PRELOAD. The purpose of libguardian is to obtain > valid conditions for continued launch prior to the execution of main() by > the runtime in the wrapped application. To this end, libguardian defines a > constructor and destructor pair of functions that obtain the valid > conditions required for continued launch, and clean up/report on exit of the > application. > > This libguardian, and associated applications, works perfectly fine. > However, it is not possible to capture coverage information for these > functions due to limits in gcov. > > The constructor/destructor methods are defined thus: > > > #define GUARDIAN_CONSTRUCTOR_DESTRUCTOR_PRIORITY 65535 > /* NOTE: this priority can also be 101! */ > > void guardian_constructor(void) __attribute__ > ((constructor(GUARDIAN_CONSTRUCTOR_DESTRUCTOR_PRIORITY))); > > void guardian_destructor(void) __attribute__ > ((destructor(GUARDIAN_CONSTRUCTOR_DESTRUCTOR_PRIORITY))); > > > If the guardian_constructor() finds conditions unsavory for continued > execution in our environment, it exit()'s immediately. In this circumstance, > coverage is lost (or not provided) by gcov's atexit/destructor methods, as > it appears that *priority* of known constructors is not accounted for in the > gcov library, nor is there an atexit() handler that can adequately sort > these priorities. Well, there are two scenarios that happen for your test-case: 1) guardian_constructor exits: as the function is called via LD_PRELOAD, libgcov is not yet registered and cannot produce any *.gcda files. It's unrelated to priorities of dtors/atexit handlers 2) _SHOULD_CONSTRUCTOR_DIE_ is undefined: all works fine except guardian_exiter: LD_PRELOAD=./testlib.so ./testapp ++ GUARDIAN CONSTRUCTOR STAGE: [15226] This is a number between 1 and 10: 1 This is a number between 1 and 10: 2 This is a number between 1 and 10: 3 This is a number between 1 and 10: 4 This is a number between 1 and 10: 5 This is a number between 1 and 10: 6 This is a number between 1 and 10: 7 This is a number between 1 and 10: 8 This is a number between 1 and 10: 9 This is a number between 1 and 10: 10 ** gcov init is called gcov init is called ^^ That was the constructor ^^ This is main() in the testapp() By now, the testlib should have reported its own progress in counting 1 to 10. Next comes the destructor ::: gcov_exit is called -- GUARDIAN DESTRUCTOR STAGE: ** gcov_exit is called !! GUARDIAN EXIT HANDLER REACHED !! gcov testlib.c File 'testlib.c' Lines executed:78.57% of 14 Creating 'testlib.c.gcov' gcov testapp.c File 'testapp.c' Lines executed:100.00% of 3 Creating 'testapp.c.gcov' As you can see, I added dumping of gcov_init/gcov_exit. The only functions which is not seen by coverage is: #: 16:static void guardian_exiter(void) -: 17:{ #: 18:fprintf(stderr, "!! GUARDIAN EXIT HANDLER REACHED !!\n"); #: 19:} That's kind of expected behavior because atexit handlers are executed in reverse order to how they were registered. I would recommend to not utilize atexit handler and do the necessary work in guardian_destructor. Due to aforementioned explanation, I'm closing the PR as invalid.
[Bug gcov-profile/43341] pragma pack changes padding in struct gcov_info on 64-bit archs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43341 Martin Liška changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |FIXED --- Comment #13 from Martin Liška --- Fixed.
[Bug tree-optimization/38401] TreeSSA-PRE load after store missed optimization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38401 --- Comment #28 from Richard Biener --- The issue with the patch is that it does speculation for expressions that might invoke undefined behavior. Like for gcc.c-torture/execute/2801-2.c where it speculates a load from the next-next iteration: : a.next = &b; b.next = 0B; : # node_9 = PHI # prephitmp_4 = PHI # prephitmp_10 = PHI if (prephitmp_4 != 0B) goto ; else goto ; : pretmp_7 = prephitmp_10->next; goto ; similar issues can appear for non-backedges, too, and for example undefined integer overflow. We'd need to be much more careful with what we'd insert here.
[Bug target/72851] New: [6/7 Regression] memory hog with -O3 on s390x-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72851 Bug ID: 72851 Summary: [6/7 Regression] memory hog with -O3 on s390x-linux-gnu Product: gcc Version: 6.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- Created attachment 39087 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39087&action=edit preprocessed source seen with the gcc-6-branch and trunk 20160804 gcc -g -O3 -std=c99 -fPIC -pthread -c des.i allocates all available memory, and then is killed. Workaround is to build with -O2.
[Bug gcov-profile/42015] gcov reports incorrect branches executed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42015 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||marxin at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Martin Liška --- (In reply to Frodak Baksik from comment #1) > I would have expected the output to report: > Branches executed:75.00% of 4 > and not > Branches executed:100.00% of 4 You're right, it's confusing, I'm going to discuss that with Honza in order to many it clear.
[Bug gcov-profile/39609] hidden symbol `__gcov_init' in /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/libgcc.a(_gcov.oS) is referenced by DSO
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39609 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |INVALID --- Comment #3 from Martin Liška --- Guessing you're missing LDFLAGS="-Wall -fprofile-arcs -ftest-coverage". Thus closing the bug as invalid.
[Bug tree-optimization/72835] [7 Regression] Incorrect arithmetic optimization involving bitfield arguments
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72835 kugan at gcc dot gnu.org changed: What|Removed |Added CC||kugan at gcc dot gnu.org --- Comment #3 from kugan at gcc dot gnu.org --- Looking into it. diff of .115t.dse2 and .116t.reassoc1 is for the c++ testcase: + unsigned int _16; + unsigned int _17; + unsigned int _18; : _1 = s1.m2; _2 = (unsigned int) _1; _3 = s1.m3; _4 = (unsigned int) _3; - _5 = -_4; - _6 = _2 * _5; + _5 = _4; + _6 = _5 * _2; var_32.0_7 = var_32; _8 = (unsigned int) var_32.0_7; _9 = s1.m1; _10 = (unsigned int) _9; - _11 = -_10; - _12 = _8 * _11; - c_14 = _6 + _12; + _11 = _10; + _12 = _11 * _8; + _16 = _12 + _6; + _18 = _16; + _17 = -_18; + c_14 = _17; if (c_14 != 4098873984) Also works with -fno-tree-vrp
[Bug c/65345] ICE with _Generic selection on _Atomic int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65345 --- Comment #28 from mpf at gcc dot gnu.org --- Author: mpf Date: Tue Aug 9 12:36:18 2016 New Revision: 239278 URL: https://gcc.gnu.org/viewcvs?rev=239278&root=gcc&view=rev Log: MIPS: Use create_tmp_var_raw in mips_atomic_assign_expand_fenv gcc/ PR c/65345 * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use create_tmp_var_raw instead of create_tmp_var. Modified: trunk/gcc/ChangeLog trunk/gcc/config/mips/mips.c
[Bug c++/72852] New: constexpr inside class template cannot be recognized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72852 Bug ID: 72852 Summary: constexpr inside class template cannot be recognized Product: gcc Version: 5.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: liweifriends at gmail dot com Target Milestone: --- The code is as follows: #include #include using namespace std; template struct Outer { template struct Inter { constexpr static bool value = std::is_same::value; }; template constexpr static bool value = Inter::value; }; template struct Wrapper { constexpr static bool value = Outer::template value; }; int main() { cerr << Wrapper::value << endl; } When compile as follows: g++ --std=c++14 ./main.cpp Gcc reports a bug said value is not a member of Outer
[Bug middle-end/71654] [6/7 Regression] missing VRP optimization on c++ unsigned char and short expressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71654 Patrick Palka changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org
[Bug tree-optimization/72835] [7 Regression] Incorrect arithmetic optimization involving bitfield arguments
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72835 --- Comment #4 from kugan at gcc dot gnu.org --- Looks like it was a latent issue. In rewrite_expr_tree, when re-associate operands, we should reset range_info for the LHS. We don’t do that now. Following patch fixes the test case. diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 7fd7550..6272d98 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -3945,6 +3945,7 @@ rewrite_expr_tree (gimple *stmt, unsigned int opindex, gimple_assign_set_rhs1 (stmt, oe1->op); gimple_assign_set_rhs2 (stmt, oe2->op); update_stmt (stmt); + reset_flow_sensitive_info (lhs); } if (rhs1 != oe1->op && rhs1 != oe2->op) I think we also need to do the same in rewrite_expr_tree_parallel.
[Bug fortran/72743] ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2958
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72743 Thomas Schwinge changed: What|Removed |Added Last reconfirmed|2016-07-29 00:00:00 |2016-8-9 CC||marxin at gcc dot gnu.org, ||rguenth at gcc dot gnu.org, ||tschwinge at gcc dot gnu.org --- Comment #4 from Thomas Schwinge --- Confirmed. Probably Dominique's x86_64-apple-darwin15 configuration has something differently in symbol visibility or some such, which hides this problem. Richard, you're probably thinking of PR70856 when you say this sounds familiar. Indeed this looks similar, but it's still a new/different problem. Do you or Martin (who fixed PR70856) have any plans to look into this issue here?
[Bug fortran/72743] ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2958
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72743 --- Comment #5 from rguenther at suse dot de --- On Tue, 9 Aug 2016, tschwinge at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72743 > > Thomas Schwinge changed: > >What|Removed |Added > >Last reconfirmed|2016-07-29 00:00:00 |2016-8-9 > CC||marxin at gcc dot gnu.org, >||rguenth at gcc dot gnu.org, >||tschwinge at gcc dot gnu.org > > --- Comment #4 from Thomas Schwinge --- > Confirmed. Probably Dominique's x86_64-apple-darwin15 configuration has > something differently in symbol visibility or some such, which hides this > problem. > > Richard, you're probably thinking of PR70856 when you say this sounds > familiar. > Indeed this looks similar, but it's still a new/different problem. Do you or > Martin (who fixed PR70856) have any plans to look into this issue here? Low on my priority list. Who is creating the clone this time?
[Bug target/72851] [6/7 Regression] memory hog with -O3 on s390x-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72851 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.2
[Bug c++/61636] generic lambda "cannot call member function without object"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636 Daniel Cooke changed: What|Removed |Added CC||dan.cooke89 at gmail dot com --- Comment #18 from Daniel Cooke --- Duplicate bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67274 Another example: http://stackoverflow.com/questions/38845720/gcc-fails-to-compile-generic-lambda-with-this-capture Still not fixed in 6.1, is anyone going to look at this in the near future?
[Bug libgcj/72834] [5/6/7 Regression] the gij interpreter seems to be broken on linux 64bit big endian targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72834 Jakub Jelinek changed: What|Removed |Added Priority|P3 |P5 CC||jakub at gcc dot gnu.org
[Bug tree-optimization/71824] [6/7 Regression] ICE when compiling libiberty with Graphite loop optimizations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71824 Jakub Jelinek changed: What|Removed |Added Priority|P3 |P4 CC||jakub at gcc dot gnu.org, ||spop at gcc dot gnu.org
[Bug c++/56701] [C++11] The *this* pointer fails to bind to rvalue reference to pointer type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56701 --- Comment #5 from Jason Merrill --- Author: jason Date: Tue Aug 9 14:08:33 2016 New Revision: 239285 URL: https://gcc.gnu.org/viewcvs?rev=239285&root=gcc&view=rev Log: PR c++/56701 - wrong type of &*this * typeck.c (cp_build_addr_expr_1): Remove special *this handling. Added: trunk/gcc/testsuite/g++.dg/cpp0x/rv-this2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck.c
[Bug c++/56701] [C++11] The *this* pointer fails to bind to rvalue reference to pointer type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56701 --- Comment #6 from Jason Merrill --- New testcase fixed for GCC 7.
[Bug c++/72849] [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug gcov-profile/36412] gcov -l -p exceeds maximum file name length
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36412 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||marxin at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed, it's quite valid use-case, I'm having a patch for that. It's quite a lot time since the PR was created, but it may by still usefull.
[Bug rtl-optimization/66669] FAIL: gcc.dg/loop-8.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=9 --- Comment #3 from mpf at gcc dot gnu.org --- Author: mpf Date: Tue Aug 9 14:36:45 2016 New Revision: 239288 URL: https://gcc.gnu.org/viewcvs?rev=239288&root=gcc&view=rev Log: MIPS: Skip gcc.dg/loop-8.c due to additional invariants gcc/ PR rtl-optimization/9 * gcc.dg/loop-8.c: Skip for MIPS due to extra invariants. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/loop-8.c
[Bug c++/72849] [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 --- Comment #2 from Jason Merrill --- Author: jason Date: Tue Aug 9 14:37:12 2016 New Revision: 239289 URL: https://gcc.gnu.org/viewcvs?rev=239289&root=gcc&view=rev Log: PR c++/72849 - ICE with incomplete class. * constexpr.c (cxx_eval_constant_expression): Check COMPLETE_TYPE_P before calling is_really_empty_class. * class.c (is_really_empty_class): Don't call complete_type. Added: trunk/gcc/testsuite/g++.dg/template/incomplete7.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/constexpr.c
[Bug gcov-profile/28478] gcov is not demangling C++ names
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28478 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |FIXED --- Comment #3 from Martin Liška --- Using '-m' does what you would expect: $ gcov -f -m myClass.cpp Function '_GLOBAL__sub_I__ZN7myClass11testIntegerEv' Lines executed:100.00% of 1 Function '__static_initialization_and_destruction_0(int, int)' Lines executed:100.00% of 1 Function 'myClass::testInteger()' Lines executed:75.00% of 4 File 'myClass.cpp' Lines executed:80.00% of 5 Creating 'myClass.cpp.gcov' File '/home/marxin/bin/gcc/include/c++/7.0.0/iostream' Lines executed:100.00% of 1 Creating 'iostream.gcov' Closing as resolved.
[Bug gcov-profile/27453] gcov opens files with O_RDWR
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=27453 Martin Liška changed: What|Removed |Added Status|NEW |RESOLVED CC||marxin at gcc dot gnu.org Resolution|--- |WONTFIX --- Comment #5 from Martin Liška --- Closing.
[Bug tree-optimization/72772] Missed SCEV after pass reordering@236440
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72772 --- Comment #10 from amker at gcc dot gnu.org --- Author: amker Date: Tue Aug 9 15:01:49 2016 New Revision: 239290 URL: https://gcc.gnu.org/viewcvs?rev=239290&root=gcc&view=rev Log: PR tree-optimization/72772 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete parameter STOP. * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete parameter STOP and update calls. Move expand_simple_operations function call from here... (simplify_using_initial_conditions): ...to here. Delete parameter STOP. (tree_simplify_using_condition): Delete parameter STOP. * tree-scalar-evolution.c (simple_iv_with_niters): Update call to simplify_using_initial_conditions. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-scalar-evolution.c trunk/gcc/tree-ssa-loop-niter.c trunk/gcc/tree-ssa-loop-niter.h
[Bug rtl-optimization/72843] [7 Regression] internal compiler error: in lra_set_insn_recog_data, at lra.c:964
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72843 --- Comment #4 from H.J. Lu --- (In reply to Uroš Bizjak from comment #3) > Created attachment 39084 [details] > Proposed patch > > HJ, can you please test this patch? It works. Thanks.
[Bug tree-optimization/72772] Missed SCEV after pass reordering@236440
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72772 --- Comment #11 from amker at gcc dot gnu.org --- Author: amker Date: Tue Aug 9 15:08:02 2016 New Revision: 239291 URL: https://gcc.gnu.org/viewcvs?rev=239291&root=gcc&view=rev Log: PR tree-optimization/72772 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality for expanded base. gcc/testsuite PR tree-optimization/pr72772 * gcc.dg/tree-ssa/pr72772.c: New test. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/pr72772.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-loop-niter.c
[Bug c++/72849] [7 Regression] r239267 causes Firefox build failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72849 Markus Trippelsdorf changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #3 from Markus Trippelsdorf --- Thanks for the quick fix.
[Bug c++/72852] constexpr inside class template cannot be recognized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72852 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 CC||marxin at gcc dot gnu.org Known to work||6.1.0, 7.0 Target Milestone|--- |5.5 Ever confirmed|0 |1 Known to fail||4.9.4, 5.4.0 --- Comment #1 from Martin Liška --- Confirmed, fixed on trunk (as well as on GCC-6 branch) by r233365.
[Bug tree-optimization/33707] scev not handling unsigned conversion
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33707 --- Comment #3 from amker at gcc dot gnu.org --- Author: amker Date: Tue Aug 9 15:10:55 2016 New Revision: 239292 URL: https://gcc.gnu.org/viewcvs?rev=239292&root=gcc&view=rev Log: gcc/testsuite PR tree-optimization/33707 * gcc.dg/vect/pr33707.c: New test. Added: trunk/gcc/testsuite/gcc.dg/vect/pr33707.c Modified: trunk/gcc/testsuite/ChangeLog
[Bug libstdc++/72830] istream::seekg should not reset eofbit if -std=c++98
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72830 --- Comment #2 from Alex Henrie --- All versions of GCC 5 and GCC 6 have the same problem.
[Bug rtl-optimization/72843] [7 Regression] internal compiler error: in lra_set_insn_recog_data, at lra.c:964
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72843 --- Comment #5 from uros at gcc dot gnu.org --- Author: uros Date: Tue Aug 9 15:35:34 2016 New Revision: 239293 URL: https://gcc.gnu.org/viewcvs?rev=239293&root=gcc&view=rev Log: PR target/72843 * config/i386/i386.md (*movtf_internal): Use lra_in_progress || reload_completed instead of !can_create_pseudo_p in the insn constraint. (*movxf_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md
[Bug rtl-optimization/72843] [7 Regression] internal compiler error: in lra_set_insn_recog_data, at lra.c:964
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72843 Uroš Bizjak changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com Target Milestone|7.0 |5.5 --- Comment #6 from Uroš Bizjak --- Fixed in mainline, backports pending.
[Bug ipa/71981] [6/7 Regression] ICE at -O2 and -O3 on x86_64-linux-gnu (internal compiler error: in get_dynamic_type, at ipa-polymorphic-call.c:1667)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71981 --- Comment #4 from Martin Jambor --- Author: jamborm Date: Tue Aug 9 16:05:30 2016 New Revision: 239294 URL: https://gcc.gnu.org/viewcvs?rev=239294&root=gcc&view=rev Log: [PR ipa/71981] Make get_dynamic_type grok MEM_REF 2016-08-09 Martin Jambor PR ipa/71981 * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully if instance is a MEM_REF. testsuite/ PR ipa/71981 * gcc.dg/ipa/pr71981.c: New test. Added: trunk/gcc/testsuite/gcc.dg/ipa/pr71981.c Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-polymorphic-call.c trunk/gcc/testsuite/ChangeLog
[Bug ipa/71981] [6/7 Regression] ICE at -O2 and -O3 on x86_64-linux-gnu (internal compiler error: in get_dynamic_type, at ipa-polymorphic-call.c:1667)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71981 --- Comment #5 from Martin Jambor --- Author: jamborm Date: Tue Aug 9 16:13:37 2016 New Revision: 239295 URL: https://gcc.gnu.org/viewcvs?rev=239295&root=gcc&view=rev Log: [PR ipa/71981] Make get_dynamic_type grok MEM_REF 2016-08-09 Martin Jambor PR ipa/71981 * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully if instance is a MEM_REF. testsuite/ PR ipa/71981 * gcc.dg/ipa/pr71981.c: New test. Added: branches/gcc-6-branch/gcc/testsuite/gcc.dg/ipa/pr71981.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/ipa-polymorphic-call.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug target/72853] New: gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72853 Bug ID: 72853 Summary: gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9 Product: gcc Version: 6.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: acsawdey at gcc dot gnu.org Target Milestone: --- Created attachment 39088 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39088&action=edit preprocessed version of 20021120-1.c Compiling the test case with options: -mcpu=power9 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions -w -lm -o ./20021120-1.exe Results in /tmp/cc9aoc1f.s: Assembler messages: /tmp/cc9aoc1f.s:552: Error: operand out of domain (30 is not a multiple of 4) /tmp/cc9aoc1f.s:552: Error: syntax error; found `,', expected `(' /tmp/cc9aoc1f.s:552: Error: junk at end of line: `,24' The compiler is gcc-6-branch svn version 239277.
[Bug c/7652] -Wswitch-break : Warn if a switch case falls through
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652 --- Comment #56 from Marek Polacek --- Author: mpolacek Date: Tue Aug 9 16:39:28 2016 New Revision: 239297 URL: https://gcc.gnu.org/viewcvs?rev=239297&root=gcc&view=rev Log: PR c/7652 gcc/c-family/ * c-ada-spec.c (dump_generic_ada_node): Add return. gcc/ * cselib.c (cselib_expand_value_rtx_1): Add return. * gengtype.c (dbgprint_count_type_at): Likewise. * hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise. * reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning. Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-ada-spec.c trunk/gcc/cselib.c trunk/gcc/gengtype.c trunk/gcc/hsa-gen.c trunk/gcc/reg-stack.c
[Bug fortran/72741] Fortran OpenACC routine directive doesn't properly handle clauses specifying the level of parallelism
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72741 --- Comment #4 from cesar at gcc dot gnu.org --- I could be mistaken, but I don't think there's anything we can do about that test case because fortran doesn't have file scope. Specifically, in your example, SUBROUTINE r_w IMPLICIT NONE INTEGER :: i !$ACC ROUTINE WORKER !$ACC LOOP DO i = 1, 12345 END DO END SUBROUTINE r_w PROGRAM main IMPLICIT NONE EXTERNAL :: r_w !$ACC ROUTINE (r_w) GANG !$ACC PARALLEL CALL r_w !$ACC END PARALLEL END PROGRAM main from program main's perspective, r_w should be an acc routine with a gang attribute, but that's only because the end user included an explicit 'external' function declaration. I'm not sure how to catch mismatched function declarations in fortran, especially if lto is not enabled. If lto is enabled, we could add some more checking in pass oacc_device_lower. But I don't think there's anything else to do in the fortran front end. It should be noted that if the user wants to avoid these types of problems, acc routines should be placed inside modules. That way, each procedure sees the same acc routine attributes.
[Bug target/71009] g++: ICE on modified gdb/valarith.c with -Ofast
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71009 --- Comment #7 from Eric Gallager --- Created attachment 39089 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39089&action=edit some compressed compiler output Still happens with trunk from the end of July. I tried playing around with some of the developer options to generate some dumpfiles, but there's too many of them, and when I group them into folders, the archives are too big to upload even after compressing them, so I'm not really sure what to upload, besides the attached tempfiles. Current version info: $ /usr/local/bin/g++ -march=native -v Using built-in specs. COLLECT_GCC=/usr/local/bin/g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i386-apple-darwin9.8.0/7.0.0/lto-wrapper Target: i386-apple-darwin9.8.0 Configured with: ../configure --disable-werror --enable-languages=c,c++,lto,objc,obj-c++ --enable-stage1-checking=release -C --with-system-libunwind --enable-secureplt --enable-frame-pointer --enable-debug --with-isl --enable-objc-gc --enable-host-shared CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ Thread model: posix gcc version 7.0.0 20160730 (experimental) (GCC)
[Bug c++/71712] Redundant ABI tags for conversion operator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71712 --- Comment #1 from Jason Merrill --- Author: jason Date: Tue Aug 9 16:55:08 2016 New Revision: 239299 URL: https://gcc.gnu.org/viewcvs?rev=239299&root=gcc&view=rev Log: PR c++/71712 - ABI tags on conversion ops. * class.c (check_abi_tags): Don't duplicate tags for conversion ops. Added: trunk/gcc/testsuite/g++.dg/abi/abi-tag22.C trunk/gcc/testsuite/g++.dg/abi/abi-tag22a.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/mangle.c
[Bug c++/71712] Redundant ABI tags for conversion operator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71712 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |7.0 --- Comment #2 from Jason Merrill --- Fixed for GCC 7.
[Bug middle-end/64971] [5 Regression] gcc.c-torture/compile/pr37433.c ICEs with -mabi=ilp32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64971 --- Comment #17 from Renlin Li --- Author: renlin Date: Tue Aug 9 17:20:14 2016 New Revision: 239300 URL: https://gcc.gnu.org/viewcvs?rev=239300&root=gcc&view=rev Log: [PATCH][PR64971]Convert function pointer to Pmode when emit call. gcc/ 2016-08-04 Renlin Li PR middle-end/64971 * calls.c (prepare_call_address): Convert funexp to Pmode when necessary. * config/aarch64/aarch64.md (sibcall): Remove fix for PR 64971. (sibcall_value): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/config/aarch64/aarch64.md
[Bug target/72853] gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72853 --- Comment #1 from Michael Meissner --- I believe this is a duplicate of PR 72802 that Alan fixed on August 8th for trunk (subversion id 239233), and backported to the gcc-6-branch (subversion id 239269)
[Bug tree-optimization/71691] [6/7 Regression] wrong code at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (Floating point exception)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71691 --- Comment #9 from Jeffrey A. Law --- Based on c#6 I started thinking about how to make tree-ssa-loop-unswitch.c appropriately conservative when a condition references a maybe-undefined SSA_NAME. To recap, tree_may_unswitch_on has this test: /* Unswitching on undefined values would introduce undefined behavior that the original program might never exercise. */ if (ssa_undefined_value_p (use, true)) return NULL_TREE; The problem is ssa_undefined_value_p returns an optimistic result -- ie, it will returns true iff the definition statement is empty. So it will return false for an SSA_NAME that is set from a PHI node where one or more arguments have undefined values. ISTM this can be pretty easily fixed. Create a bitmap and initialize it to all the SSA_NAMEs where ssa_undefined_value_p is true. Examine each PHI, if the PHI has an argument on its RHS that has the bit set in the bitmap, then set the bit for the LHS of the PHI Iterate on the PHIs until nothing has changed. [ Yes, this isn't the most efficient. Implementation would be different to improve efficiency. ] The result is the conservative set of SSA_NAMEs that may be undefined. This satisfies the need of unswitching and potentially other passes that really want the conservative set. Thoughts?
[Bug c/52116] pragma GCC diagnostic only acts on some lines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52116 Manuel López-Ibáñez changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Manuel López-Ibáñez --- (In reply to Ben Longbons from comment #0) > Case 1. Wrapping a warning location in _Pragma("GCC diagnostic ignored > \"-Wshadow\"") does not work (sometimes). This precludes error suppression > during macro expansion. Oddly, it suppresses as expected (mostly) if both > are on the same line. (Although it behaves oddly if one is "warning" and one > is "ignored") This seems fixed in GCC 7.0, possibly earlier.
[Bug bootstrap/72833] [7 regression] error in fortran/parse.c (unexpected_eof) on Mac OS X 10.7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72833 --- Comment #14 from Bernd Edlinger --- Author: edlinger Date: Tue Aug 9 17:58:00 2016 New Revision: 239301 URL: https://gcc.gnu.org/viewcvs?rev=239301&root=gcc&view=rev Log: 2016-08-09 Bernd Edlinger PR bootstrap/72833 * fixincl.tpl (version-compare): Fix generation with autogen 5.18. * inclhack.def (darwin_longjmp_noreturn): New fix. * fixincl.x: Regenerated. * tests/base/i386/setjmp.h [DARWIN_LONGJMP_NORETURN_CHECK]: new test. Added: trunk/fixincludes/tests/base/i386/ trunk/fixincludes/tests/base/i386/setjmp.h Modified: trunk/fixincludes/ChangeLog trunk/fixincludes/fixincl.tpl trunk/fixincludes/fixincl.x trunk/fixincludes/inclhack.def
[Bug target/72853] gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72853 --- Comment #2 from Michael Meissner --- Created attachment 39090 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39090&action=edit Proposed patch to fix the problem Alan mixed up the stxsspx and stxssp alternatives. I haven't yet done the bootstrap and make check on this patch.
[Bug tree-optimization/72746] [5/6/7 Regression] gcc ICE at -O2 and above on valid code on x86_64-linux-gnu with “seg fault”
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72746 Segher Boessenkool changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #3 from Segher Boessenkool --- Duplicate of PR71724. *** This bug has been marked as a duplicate of bug 71724 ***
[Bug rtl-optimization/71724] [5/6/7 Regression] ICE: Segmentation fault, deep recursion between combine_simplify_rtx and subst
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71724 Segher Boessenkool changed: What|Removed |Added CC||helloqirun at gmail dot com --- Comment #2 from Segher Boessenkool --- *** Bug 72746 has been marked as a duplicate of this bug. ***
[Bug target/72853] gcc/testsuite/gcc.c-torture/execute/20021120-1.c generates incorrect stxssp op with -mcpu=power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72853 Peter Bergner changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-08-09 Known to work||6.1.0 Target Milestone|--- |6.2 Ever confirmed|0 |1 Known to fail||6.2.0, 7.0 --- Comment #3 from Peter Bergner --- Confirmed and this is a regression from 6.1.
[Bug bootstrap/72848] profiledbootstrap: internal compiler error: in streamer_write_gcov_count_stream, at data-streamer-out.c:366
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72848 --- Comment #2 from mikulas at artax dot karlin.mff.cuni.cz --- gcc/hwint.h always defines HOST_WIDE_INT as 64-bit value. How could it be 32-bit?
[Bug rtl-optimization/72855] New: Long compile time due to integrity checking during dataflow analysis per loop
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72855 Bug ID: 72855 Summary: Long compile time due to integrity checking during dataflow analysis per loop Product: gcc Version: 5.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: wschmidt at gcc dot gnu.org Target Milestone: --- Created attachment 39091 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39091&action=edit C++ file showing excessive compile time This was reported to me for the gcc compilers on Ubuntu 14.04 and 16.10, and occurs on all compilers from GCC 4.8 through current trunk. A partial backtrace shows: #0 df_ref_equal_p (ref1=0x1000fca3c40, ref2=0x1000d2e0570) at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:2045 #1 0x10647a00 in df_ref_equal_p (ref2=0x1000d2e0570, ref1=) at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:2041 #2 df_refs_verify (new_rec=0x3fffddb13f30, old_rec=0x1000d2e0570, abort_if_fail=true) at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:4030 #3 0x1064e518 in df_insn_refs_verify (collection_rec=0x3fffddb13f30, bb=0x3fffa0baf908, insn=0x3fff98487340, abort_if_fail=true) at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:4113 #4 0x1064eca0 in df_bb_verify (bb=0x3fffa0baf908) at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:4142 #5 0x10652fa8 in df_scan_verify () at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-scan.c:4274 #6 0x10635404 in df_verify () at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-core.c:1830 #7 df_analyze_1 () at /home/wschmidt/gcc/gcc-mainline-base/gcc/df-core.c:1216 #8 0x1091ced0 in iv_analysis_loop_init (loop=0x3fff9ef663e0) at /home/wschmidt/gcc/gcc-mainline-base/gcc/loop-iv.c:285 #9 0x11309d98 in doloop_optimize (loop=0x3fff9ef663e0) at /home/wschmidt/gcc/gcc-mainline-base/gcc/loop-doloop.c:624 #10 doloop_optimize_loops () This is where we spend the lion's share of 2 hours of compilation time for the attached example. Using -fno-checking on GCC 6 drops the compilation time to 7 minutes on a POWER8 with lots of memory. However, this workaround is not available on earlier compiler versions. Note that the Ubuntu compilers are built with --enable-checking=release. The test case does (far too) aggressive inlining which creates a large function with many loops. It appears that iv_analysis_loop_init calls df_analyze_loop for each loop, which causes df_verify to be run over the whole function many times. It's not that efficient to begin with, so... Given the nature of the problem, reducing the test case isn't very practical, and since the only headers are from libstdc++, I've provided the un-preprocessed code (which is much smaller due to all the macro expansion). To reproduce: $ gcc -std=gnu++1y -O3 --param early-inlining-insns=200 -c ltc144607.cpp This is very similar to a problem Richard looked at before: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38518. Something similar should probably be done to try to limit how often the df_analyze code is called.
[Bug fortran/71795] [5 Regression] Two Bugs in array constructors (optimization)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71795 --- Comment #12 from Thomas Koenig --- Author: tkoenig Date: Tue Aug 9 20:33:00 2016 New Revision: 239302 URL: https://gcc.gnu.org/viewcvs?rev=239302&root=gcc&view=rev Log: 2016-08-09 Thomas Koenig Backport from trunk PR fortran/71795 * frontend-passes.c (combine_array_constructor): Don't do anything if the expression is inside an array iterator. 2016-08-09 Thomas Koenig Backport from trunk PR fortran/71795 * gfortran.dg/array_constructor_50.f90: New test. Added: branches/gcc-5-branch/gcc/testsuite/gfortran.dg/array_constructor_50.f90 Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/frontend-passes.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug fortran/71795] [5 Regression] Two Bugs in array constructors (optimization)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71795 Thomas Koenig changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #13 from Thomas Koenig --- Fixed on all open branches, closing.
[Bug fortran/65173] ICE while compiling wrong code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65173 Thomas Koenig changed: What|Removed |Added Status|NEW |RESOLVED CC||tkoenig at gcc dot gnu.org Resolution|--- |FIXED --- Comment #4 from Thomas Koenig --- All of these ICEs are now gone with r238822.
[Bug fortran/69860] ICE on missing end apostrophe with character(kind=4)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69860 Thomas Koenig changed: What|Removed |Added Status|NEW |RESOLVED CC||tkoenig at gcc dot gnu.org Resolution|--- |FIXED --- Comment #4 from Thomas Koenig --- Fixed with r238822.
[Bug fortran/71194] ICE on compilation with fcheck=all ; -fcheck=bounds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71194 Thomas Koenig changed: What|Removed |Added Status|NEW |RESOLVED CC||tkoenig at gcc dot gnu.org Resolution|--- |FIXED --- Comment #3 from Thomas Koenig --- (In reply to Tobias Burnus from comment #2) > Author: burnus > Date: Mon Jun 20 18:46:43 2016 > New Revision: 237612 This fixed it, closing.