[Bug rtl-optimization/68330] [6 Regression]: FAIL: gcc.target/alpha/pr42269-1.c scan-assembler-not addl on alpha-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68330 Uroš Bizjak changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Uroš Bizjak --- Fixed.
[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416 --- Comment #1 from Ilya Enkovich --- Seems the problem is in register allocation. Before allocation we have: 1: NOTE_INSN_DELETED 6: NOTE_INSN_BASIC_BLOCK 2 2: r95:DI=di:DI REG_DEAD di:DI 3: r96:SI=si:SI REG_DEAD si:SI 4: r97:BND64=bnd0:BND64 REG_DEAD bnd0:BND64 5: NOTE_INSN_FUNCTION_BEG 8: {unspec[r97:BND64,r95:DI] 92;[r95:DI]=unspec[[r95:DI]] 95;} 9: NOTE_INSN_DELETED 10: {unspec[r97:BND64,r95:DI+0x7] 93;[r95:DI+0x7]=unspec[[r95:DI+0x7]] 95;} REG_DEAD r97:BND64 11: r87:DI=[r95:DI] 12: {r92:BND64=unspec[[unspec[r95:DI,r87:DI] 91]] 90;use [r95:DI];} REG_DEAD r95:DI 13: r99:DI=sign_extend(r96:SI) REG_DEAD r96:SI 14: NOTE_INSN_DELETED 15: r90:DI=r99:DI<<0x2+r87:DI REG_DEAD r99:DI REG_DEAD r87:DI 16: {unspec[r92:BND64,r90:DI] 92;[r90:DI]=unspec[[r90:DI]] 95;} 17: NOTE_INSN_DELETED 18: {unspec[r92:BND64,r90:DI+0x3] 93;[r90:DI+0x3]=unspec[[r90:DI+0x3]] 95;} REG_DEAD r92:BND64 19: r103:SI=[r90:DI] REG_DEAD r90:DI 24: ax:SI=r103:SI REG_DEAD r103:SI 25: use ax:SI After allocation: 1: NOTE_INSN_DELETED 6: NOTE_INSN_BASIC_BLOCK 2 4: [sp:DI-0x18]=bnd0:BND64 5: NOTE_INSN_FUNCTION_BEG 28: bnd1:BND64=[sp:DI-0x18] 8: {unspec[bnd1:BND64,di:DI] 92;[di:DI]=unspec[[di:DI]] 95;} 9: NOTE_INSN_DELETED 29: bnd2:BND64=[sp:DI-0x18] 10: {unspec[bnd2:BND64,di:DI+0x7] 93;[di:DI+0x7]=unspec[[di:DI+0x7]] 95;} 11: ax:DI=[di:DI] 12: {bnd3:BND64=unspec[[unspec[di:DI,ax:DI] 91]] 90;use [di:DI];} 30: [sp:DI-0x18]=bnd3:BND64 13: si:DI=sign_extend(si:SI) 14: NOTE_INSN_DELETED 15: ax:DI=si:DI<<0x2+ax:DI 31: bnd0:BND64=[sp:DI-0x18] 16: {unspec[bnd0:BND64,ax:DI] 92;[ax:DI]=unspec[[ax:DI]] 95;} 17: NOTE_INSN_DELETED 32: bnd1:BND64=[sp:DI-0x18] 18: {unspec[bnd1:BND64,ax:DI+0x3] 93;[ax:DI+0x3]=unspec[[ax:DI+0x3]] 95;} 19: ax:SI=[ax:DI] 24: ax:SI=ax:SI 25: use ax:SI 27: NOTE_INSN_DELETED Here even simple r97:BND64=bnd0:BND64 goes through stack with a load at each use like if bounds register usage kills it.
[Bug other/66827] [6 Regression] left shifts of negative value warnings due to C++14 switch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66827 Paolo Bonzini changed: What|Removed |Added CC||bonzini at gnu dot org --- Comment #4 from Paolo Bonzini --- Using #define UNKNOWN_DEP_COST (-1u<<19) is dangerous in case UNKNOWN_DEP_COST is later assigned to a long. Do not do this please.
[Bug sanitizer/68418] New: ubsan complains about left shifts even with -fwrapv
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68418 Bug ID: 68418 Summary: ubsan complains about left shifts even with -fwrapv Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: bonzini at gnu dot org 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 Target Milestone: --- Left shifts into the sign bit is a kind of overflow, and the standard chooses to treat left shifts of negative values the same way. However, the -fwrapv option modifies the language to one where integers are defined as two's complement---which also defines entirely the behavior of shifts. Sanitization of left shifts should be disabled when -fwrapv is in effect.
[Bug sanitizer/68418] ubsan complains about left shifts even with -fwrapv
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68418 Paolo Bonzini changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2015-11-18 Assignee|unassigned at gcc dot gnu.org |bonzini at gnu dot org Ever confirmed|0 |1 --- Comment #1 from Paolo Bonzini --- I have a patch.
[Bug middle-end/68375] [6 Regression] ICE in get_loop_body_in_bfs_order when dumping cfg with -fdump-tree-optimized-graph
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68375 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2015-11-18 Assignee|unassigned at gcc dot gnu.org |ktkachov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from ktkachov at gcc dot gnu.org --- It does. I'll test it out and submit a patch. Thanks
[Bug ipa/68419] New: ICE segfault in determine_locally_known_aggregate_parts / ipa_compute_jump_functions_for_edge
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68419 Bug ID: 68419 Summary: ICE segfault in determine_locally_known_aggregate_parts / ipa_compute_jump_functions_for_edge Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: cand at gmx dot com Target Milestone: --- Created attachment 36766 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36766=edit Preprocessed source Trying to build GCC 5.2 for m68k segfaults in bootstrap. Preprocessed source attached. Configure line: ../gcc-5.2.0/configure --prefix=/tmp/tmpgcc --target=m68k-elf --enable-languages=c --disable-libssp --disable-tls --enable-threads=single ../../../../gcc-5.2.0/libgcc/unwind-dw2.c: In function 'uw_init_context_1': ../../../../gcc-5.2.0/libgcc/unwind-dw2.c:1695:0: internal compiler error: Segmentation fault Valgrind output: ==27154== ==27155== Memcheck, a memory error detector ==27155== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==27155== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==27155== Command: /tmp/gccbuild/./gcc/cc1 -quiet -I . -I . -I ../../.././gcc -I ../../../../gcc-5.2.0/libgcc -I ../../../../gcc-5.2.0/libgcc/. -I ../../../../gcc-5.2.0/libgcc/../gcc -I ../../../../gcc-5.2.0/libgcc/../include -imultilib m68000 -iprefix /tmp/gccbuild/gcc/../lib/gcc/m68k-elf/5.2.0/ -isystem /tmp/gccbuild/./gcc/include -isystem /tmp/gccbuild/./gcc/include-fixed -MD unwind-dw2.d -MF unwind-dw2.dep -MP -MT unwind-dw2.o -D IN_GCC -D CROSS_DIRECTORY_STRUCTURE -D IN_LIBGCC2 -D inhibit_libc -D HIDE_EXPORTS -isystem /tmp/tmpgcc/m68k-elf/include -isystem /tmp/tmpgcc/m68k-elf/sys-include -isystem ./include ../../../../gcc-5.2.0/libgcc/unwind-dw2.c -quiet -dumpbase unwind-dw2.c -mcpu=68000 -auxbase-strip unwind-dw2.o -g -g -g -O2 -O2 -O2 -Wextra -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fbuilding-libgcc -fno-stack-protector -fexceptions -fvisibility=hidden -o /tmp/ccQM5a7W.s ==27155== ==27155== Conditional jump or move depends on uninitialised value(s) ==27155==at 0x7CF980: determine_locally_known_aggregate_parts(gcall*, tree_node*, tree_node*, ipa_jump_func*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D3D1E: ipa_compute_jump_functions_for_edge(func_body_info*, cgraph_edge*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D4B0C: analysis_dom_walker::before_dom_children(basic_block_def*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0xC91083: dom_walker::walk(basic_block_def*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D93DD: ipa_analyze_node(cgraph_node*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0xCCF973: ipcp_generate_summary() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x8AE13E: execute_ipa_summary_passes(ipa_opt_pass_d*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x5EDFFF: symbol_table::compile() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x5EF15C: symbol_table::finalize_compilation_unit() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x4CF6B6: c_write_global_declarations() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x97DB6B: compile_file() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x97EBDF: do_compile() (in /tmp/gccbuild/gcc/cc1) ==27155== ==27155== Use of uninitialised value of size 8 ==27155==at 0x7CF982: determine_locally_known_aggregate_parts(gcall*, tree_node*, tree_node*, ipa_jump_func*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D3D1E: ipa_compute_jump_functions_for_edge(func_body_info*, cgraph_edge*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D4B0C: analysis_dom_walker::before_dom_children(basic_block_def*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0xC91083: dom_walker::walk(basic_block_def*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D93DD: ipa_analyze_node(cgraph_node*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0xCCF973: ipcp_generate_summary() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x8AE13E: execute_ipa_summary_passes(ipa_opt_pass_d*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x5EDFFF: symbol_table::compile() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x5EF15C: symbol_table::finalize_compilation_unit() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x4CF6B6: c_write_global_declarations() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x97DB6B: compile_file() (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x97EBDF: do_compile() (in /tmp/gccbuild/gcc/cc1) ==27155== ==27155== Use of uninitialised value of size 8 ==27155==at 0x7CF991: determine_locally_known_aggregate_parts(gcall*, tree_node*, tree_node*, ipa_jump_func*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D3D1E: ipa_compute_jump_functions_for_edge(func_body_info*, cgraph_edge*) (in /tmp/gccbuild/gcc/cc1) ==27155==by 0x7D4B0C: analysis_dom_walker::before_dom_children(basic_block_def*) (in /tmp/gccbuild/gcc/cc1) ==27155==by
[Bug ipa/68419] ICE segfault in determine_locally_known_aggregate_parts / ipa_compute_jump_functions_for_edge
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68419 --- Comment #1 from Lauri Kasanen --- This is very similar to 64551, but not a dup. Another part of IPA failing.
[Bug target/67770] [4.9/5/6 Regression] i386: -fshrink-wrap can interact badly with trampolines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67770 Jakub Jelinek changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek --- Created attachment 36765 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36765=edit gcc6-pr67770.patch Untested fix.
[Bug tree-optimization/68402] [6 Regression] FAIL: gcc.dg/tree-ssa/split-path-1.c execution test with -m32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68402 Jeffrey A. Law changed: What|Removed |Added Status|NEW |RESOLVED CC||law at redhat dot com Resolution|--- |FIXED --- Comment #3 from Jeffrey A. Law --- I've installed Ajit's fix for the testcase on the trunk, which should fix this problem.
[Bug fortran/68268] configure: error: GNU Fortran is not working;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68268 --- Comment #9 from kargl at gcc dot gnu.org --- (In reply to isearcher from comment #8) > Now here is a new problem. Gfortran can now produce the a.out, but when i > run ./a.out, there is an error: > > ./a.out: error while loading shared libraries: libgfortran.so.3: cannot open > shared object file: No such file or directory > > Ahy sugguestions? GCC bugzilla is not a user support forum. Post to gcc-help with questions of this nature. The answer to your question lies in the ldconfig documentation.
[Bug tree-optimization/68398] coremark regression due to r229685
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68398 Jeffrey A. Law changed: What|Removed |Added CC||law at redhat dot com --- Comment #1 from Jeffrey A. Law --- Sebastian, That change was to avoid creating irreducible loops, which should be considered a design requirement for the threader. We've been willing to relax that requirement in cases where we're able to collapse a multi-way branch. So I think the thing to do is first verify whether or not the threading opportunity we suppress would result in a multi-way branch being removed. If it doesn't, then we'll have to look and see if there's another relaxation we can reasonably do. The other possibility is cases where applying multiple jump threads results in a reducible loop, but applying a subset results in an irreducible loop. I know of at least one case of that occurring (it's in the testsuite). We haven't tried to handle those situations to the best of my knowledge.
[Bug target/68410] config/nios2/nios2.c: 4123: duplicates in expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68410 sandra at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2015-11-18 CC||sandra at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |sandra at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from sandra at gcc dot gnu.org --- I'll take care of it. I just checked the processor documentation to make sure that those weren't typos for some other values, but they are just duplicates.
[Bug c++/68385] [6 Regression] ICE building libstdc++ on arm-none-eabi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68385 Tejas Belagod changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2015-11-18 CC||belagod at gcc dot gnu.org, ||jason at redhat dot com Ever confirmed|0 |1 --- Comment #1 from Tejas Belagod --- Confirmed on arm-none-eabi with r230540.
[Bug ipa/68220] [5 Regression] Devirtualization ICE in record_target_from_binfo, at ipa-devirt.c:2389
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68220 --- Comment #8 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug ipa/67783] [4.9/5 Regression] quadratic time consumption in IPA inlining with -O1 and higher
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67783 --- Comment #8 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug c/66098] [5 regression] #pragma diagnostic 'ignored' not fully undone by pop for strict-overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66098 --- Comment #6 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug ipa/68057] [6 Regression] 450.soplex in SPEC CPU 2006 failed to build
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68057 --- Comment #13 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug ipa/67056] [5 regression] Wrong code generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67056 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail||5.2.0 --- Comment #21 from Richard Biener --- Fixed.
[Bug c/66711] GCC does not correctly restore diagnostic state after pragma GCC diagnostic pop with -Werror
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66711 --- Comment #4 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug ipa/67600] [5 Regression] Segfault when assigning only one char to ostreambuf_iterator compiled with -O2 or -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67600 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #12 from Richard Biener --- r230550 | rguenth | 2015-11-18 16:23:48 +0100 (Wed, 18 Nov 2015) | 52 lines 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test.
[Bug ipa/68220] [5 Regression] Devirtualization ICE in record_target_from_binfo, at ipa-devirt.c:2389
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68220 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail||5.2.0 --- Comment #9 from Richard Biener --- Fixed.
[Bug target/68416] [MPX] GCC emits a lot of redundant bndmov instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416 Ilya Enkovich changed: What|Removed |Added CC||vmakarov at redhat dot com --- Comment #2 from Ilya Enkovich --- Vladimir, could you please help with this issue? Do you know what may cause such weird allocation? May it be caused by wrong config for BND registers or something in MPX instruction patterns?
[Bug lto/68384] LTO error for global register variables in PHP 7 compiling on powerpc64le
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68384 --- Comment #7 from acsawdey at gcc dot gnu.org --- Testing with 270468, -flto-partition=max does work and the code runs. However -flto-partition=1to1 gets the register global error.
[Bug tree-optimization/68417] [6 Regression] Missed vectorization opportunity when setting struct field
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68417 --- Comment #1 from Alexander Fomin --- I'm sorry for the typo above. Vectorization is OK for r230453, but we miss if-conversion since r230434.
[Bug tree-optimization/68417] [6 Regression] Missed vectorization opportunity when setting struct field
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68417 --- Comment #2 from Alexander Fomin --- Sorry once again - looks like smth is also wrong with me today :) I'm talking about r230454 and r230453 of course.
[Bug tree-optimization/63602] [4.9/5 Regression] [graphite] Wrong code w/ -O2 -ftree-loop-nest-optimize
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63602 Sebastian Pop changed: What|Removed |Added Known to work||6.0 Summary|[4.9/5/6 Regression] Wrong |[4.9/5 Regression] |code w/ -O2 |[graphite] Wrong code w/ |-ftree-loop-nest-optimize |-O2 ||-ftree-loop-nest-optimize Known to fail|6.0 | --- Comment #5 from Sebastian Pop --- gcc 6.0 trunk does not go out of SSA anymore: we rewrote graphite's code gen and added all scalar dependences crossing basic blocks to the dependence graph.
[Bug middle-end/68414] gcc doesn't emit .skip for .vtable_map_vars sections
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68414 Richard Biener changed: What|Removed |Added Target Milestone|6.0 |---
[Bug tree-optimization/68413] [6 Regression] internal compiler error: in vect_transform_stmt
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68413 Richard Biener changed: What|Removed |Added CC||alahay01 at gcc dot gnu.org Target Milestone|--- |6.0 Summary|[GCC6] internal compiler|[6 Regression] internal |error: in |compiler error: in |vect_transform_stmt |vect_transform_stmt
[Bug c/68337] [MPX] memcpy() for arrays with function pointers results in huge resource usage and binaries
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68337 --- Comment #2 from Ilya Enkovich --- I found another related problem. If we copy a couple of pointers using memcpy, it may be inlined as a copy of a single wide integer. Thus we also may loose bounds due to memcpy inlining.
[Bug tree-optimization/68373] autopar fails on loop exit phi with argument defined outside loop
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68373 --- Comment #2 from vries at gcc dot gnu.org --- Created attachment 36762 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36762=edit Updated patch, to be tested
[Bug tree-optimization/68417] New: [6 Regression] Missed vectorization opportunity when setting struct field
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68417 Bug ID: 68417 Summary: [6 Regression] Missed vectorization opportunity when setting struct field Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: afomin.mailbox at gmail dot com CC: izamyatin at gmail dot com, venkataramanan.kumar.gnu at gmail dot com, ysrumyan at gmail dot com Target Milestone: --- Target: i686-*-* Created attachment 36763 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36763=edit A reproducer A loop in the test attached compiled with -m32 -msse4.2 -O2 -ftree-vectorize is no more vectorized after r230454(while on r223524.
[Bug target/67770] [4.9/5/6 Regression] i386: -fshrink-wrap can interact badly with trampolines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67770 Jakub Jelinek changed: What|Removed |Added CC||bernds at gcc dot gnu.org, ||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek --- So, the problem is that ix86_static_chain_on_stack is incompatible with shrink-wrapping, if that i386 backend flag is on, then the function is either called directly at function address + 0, or through trampoline at function address + 1 (i.e. it bypasses the initial pushl %esi instruction). But that of course relies on the first instruction being always pushl %esi, so we have to ensure shrink wrapping does not change this. Unfortunately, there is no target hook right now where the target would state that shrink wrapping is undesirable for the current function for hard to discover reasons like the above. Bernd, do you think it is ok to add a target hook for this? Or try to come up with some other way how to tell that it is undesirable (some new insn note, ... ?).
[Bug tree-optimization/66131] [6 Regression] Wrong code w/ -O2 -ftree-loop-linear
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66131 --- Comment #1 from Bernd Edlinger --- Note: the test case as-it-is, does no longer reproduce on trunk.
[Bug target/67770] [4.9/5/6 Regression] i386: -fshrink-wrap can interact badly with trampolines
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67770 --- Comment #3 from Bernd Schmidt --- Shrink-wrapping is disabled if !HAVE_simple_return. So the predicate for that pattern should detect that condition.
[Bug fortran/65751] Bogus in error message
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65751 --- Comment #7 from dominiq at gcc dot gnu.org --- Author: dominiq Date: Wed Nov 18 16:29:58 2015 New Revision: 230553 URL: https://gcc.gnu.org/viewcvs?rev=230553=gcc=rev Log: 2015-11-18 Dominique d'HumieresPR fortran/65751 * expr.c (gfc_check_pointer_assign): Fix error message. * gfortran.dg/unlimited_polymorphic_2.f03: Update test. Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/expr.c branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03
[Bug ipa/67056] [5 regression] Wrong code generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67056 --- Comment #20 from Richard Biener --- Author: rguenth Date: Wed Nov 18 15:23:48 2015 New Revision: 230550 URL: https://gcc.gnu.org/viewcvs?rev=230550=gcc=rev Log: 2015-11-18 Richard BienerBackport from mainline 2015-11-07 Jan Hubicka PR ipa/68057 PR ipa/68220 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering issue when offset is out of range. (contains_type_p): Fix out of range check, clear dynamic flag. * g++.dg/torture/pr68220.C: New testcase. * g++.dg/lto/pr68057_0.C: Likewise. * g++.dg/lto/pr68057_1.C: Likewise. 2015-10-23 Jan Hubicka PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase. 2015-10-12 Richard Biener PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add code that analyzes IVs on each stmt but in a cheaper way avoiding quadratic behavior. 2015-10-11 Jan Hubicka PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. 2015-08-11 Manuel López-Ibáñez PR c/66098 PR c/66711 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into account when deciding what was the command-line status. * gcc.dg/pragma-diag-3.c: New test. * gcc.dg/pragma-diag-4.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/ipa/pr67056.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr68057_1.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr67600.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr68220.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-3.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/pragma-diag-4.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/diagnostic.c branches/gcc-5-branch/gcc/ipa-inline-analysis.c branches/gcc-5-branch/gcc/ipa-polymorphic-call.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug middle-end/68414] New: gcc doesn't emit .skip for .vtable_map_vars sections
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68414 Bug ID: 68414 Summary: gcc doesn't emit .skip for .vtable_map_vars sections Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: ctice at gcc dot gnu.org Target Milestone: --- Host: *-*-solaris2.* Target: *-*-solaris2.* Build: *-*-solaris2.* Created attachment 36760 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36760=edit minimal patch, untested While doing the libvtv port to Solaris, all testcases were failing on Solaris/SPARC with Solaris as. It turned out that as doesn't set sh_addralign in the section header for .vtable_map_vars. This is not a problem with gas in this case, but for a regular .bss section gcc emits .skip 1 which avoids this. Consider the following: $ cat align.bss.c #define VTV_PAGE_SIZE 4096 char _vtable_map_vars_start [] __attribute__ ((aligned(VTV_PAGE_SIZE))) = { }; $ gcc -S align.bss.c $ cat align.vmv.c #define VTV_PAGE_SIZE 4096 char _vtable_map_vars_start [] __attribute__ ((aligned(VTV_PAGE_SIZE),section(".vtable_map_vars"))) = { }; $ gcc -S align.vmv.c $ diff -u align.{bss,vmv}.s --- align.bss.s 2015-11-18 16:20:37.628513468 +0100 +++ align.vmv.s 2015-11-18 16:21:43.411691226 +0100 @@ -1,9 +1,9 @@ - .file "align.bss.c" + .file "align.vmv.c" .global _vtable_map_vars_start - .section".bss" + .section ".vtable_map_vars%_vtable_map_vars_start",#alloc,#write,#progbits + .group _vtable_map_vars_start,".vtable_map_vars%_vtable_map_vars_start",#comdat .align 4096 .type _vtable_map_vars_start, #object .size _vtable_map_vars_start, 0 _vtable_map_vars_start: - .skip 1 .ident "GCC: (GNU) 5.1.0" I think this needs to be fixed in varasm.c (assemble_variable) in the special case for .vtable_map_vars, with something like the attached patch. I'm just not sure which conditions are necessary to avoid emitting .skip in unappropriate cases. Rainer
[Bug middle-end/68414] gcc doesn't emit .skip for .vtable_map_vars sections
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68414 Rainer Orth changed: What|Removed |Added Target Milestone|--- |6.0
[Bug c/66098] [5 regression] #pragma diagnostic 'ignored' not fully undone by pop for strict-overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66098 Richard Biener changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Known to fail||5.2.0 --- Comment #7 from Richard Biener --- Fixed.
[Bug rtl-optimization/67609] [5 Regression] Generates wrong code for SSE2 _mm_load_pd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67609 --- Comment #37 from Richard Henderson --- Author: rth Date: Wed Nov 18 15:45:26 2015 New Revision: 230552 URL: https://gcc.gnu.org/viewcvs?rev=230552=gcc=rev Log: PR rtl-opt/67609 Backport from mainline * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten sse check to the exact conditions of PR 67609. * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow narrowing subregs on SSE and MMX registers. * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that appear to be sub-words of multi-register pseudos must be rejected. * doc/tm.texi: Regenerate. Added: branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr67609-2.c branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr67609.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/config/i386/i386.c branches/gcc-5-branch/gcc/doc/tm.texi branches/gcc-5-branch/gcc/doc/tm.texi.in
[Bug c++/68385] [6 Regression] ICE building libstdc++ on arm-none-eabi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68385 Andre Vieira changed: What|Removed |Added CC||andre.simoesdiasvieira@arm. ||com --- Comment #2 from Andre Vieira --- Hi Jason, I don't fully understand what is going wrong here, but when debugging I found that the tree it complains about is coming from a call to convert_to_integer_nofold in the line in ocp_convert, this used to have a fold_if_not_in_template. I found that I no longer got the ICE after reverting the code there to fold 'converted'. Not sure this actually fixes it, I'd need to look further into your patch for this. Hopefully this saves you some debugging yourself. The issue seemed to originate from a nop_expr around a param_declaration and fold gets rid of it. Hope this helps. Cheers, Andre
[Bug libgomp/68403] FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/loop-auto-1.c (internal compiler error)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68403 vries at gcc dot gnu.org changed: What|Removed |Added Summary|FAIL: |FAIL: |libgomp.oacc-c++/../libgomp |libgomp.oacc-c++/../libgomp |.oacc-c-c++-common/loop-aut |.oacc-c-c++-common/loop-aut |o-1.c |o-1.c (internal compiler |-DACC_DEVICE_TYPE_host=1|error) |-DACC_MEM_SHARED=1 | |(internal compiler error) | --- Comment #5 from vries at gcc dot gnu.org --- Similar error with -DACC_DEVICE_TYPE_nvidia=1: ... FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -foffload=nvptx-none (internal compiler error) FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -foffload=nvptx-none (test for excess errors) ...
[Bug fortran/68415] New: Internal compiler error on Class variable containing array of allocatable polymorphic variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68415 Bug ID: 68415 Summary: Internal compiler error on Class variable containing array of allocatable polymorphic variable Product: gcc Version: 5.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: talebi.hossein at gmail dot com Target Milestone: --- Created attachment 36761 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36761=edit fortran module The compilation of the attached file gives the following error. If I change the class on line 31, to type it will not happen. Or if I remove the line 20 it will work as well. This might be related to the bug 59678. define_class.f90:39:0: End Module define_class 1 internal compiler error: in gfc_conv_expr_descriptor, at fortran/trans-array.c:6534 0x6a87b0 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*) ../../src/gcc/fortran/trans-array.c:6534 0x6cb79b gfc_trans_pointer_assignment(gfc_expr*, gfc_expr*) ../../src/gcc/fortran/trans-expr.c:7635 0x6cbe3c gfc_reset_vptr(stmtblock_t*, gfc_expr*) ../../src/gcc/fortran/trans-expr.c:358 0x6f8065 gfc_trans_deallocate(gfc_code*) ../../src/gcc/fortran/trans-stmt.c:5993 0x696e57 trans_code ../../src/gcc/fortran/trans.c:1824 0x6edd63 gfc_trans_if_1 ../../src/gcc/fortran/trans-stmt.c:1115 0x6f409a gfc_trans_if(gfc_code*) ../../src/gcc/fortran/trans-stmt.c:1146 0x696f47 trans_code ../../src/gcc/fortran/trans.c:1762 0x6f53b1 gfc_trans_simple_do ../../src/gcc/fortran/trans-stmt.c:1654 0x6f53b1 gfc_trans_do(gfc_code*, tree_node*) ../../src/gcc/fortran/trans-stmt.c:1817 0x696f1a trans_code ../../src/gcc/fortran/trans.c:1774 0x6b6bc3 gfc_generate_function_code(gfc_namespace*) ../../src/gcc/fortran/trans-decl.c:5851 0x69a3a1 gfc_generate_module_code(gfc_namespace*) ../../src/gcc/fortran/trans.c:2036 0x654c1d translate_all_program_units ../../src/gcc/fortran/parse.c:5330 0x654c1d gfc_parse_file() ../../src/gcc/fortran/parse.c:5540 0x694235 gfc_be_parse_file ../../src/gcc/fortran/f95-lang.c:229 Please submit a full bug report, with preprocessed source if appropriate.
[Bug tree-optimization/68402] [6 Regression] FAIL: gcc.dg/tree-ssa/split-path-1.c execution test with -m32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68402 vries at gcc dot gnu.org changed: What|Removed |Added Keywords||patch --- Comment #2 from vries at gcc dot gnu.org --- patch: https://gcc.gnu.org/ml/gcc-patches/2015-11/msg02217.html
[Bug tree-optimization/68317] [6 regression] ice in set_value_range, at tree-vrp.c:380
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68317 --- Comment #9 from Jiong Wang --- (In reply to Richard Biener from comment #7) > (In reply to Jiong Wang from comment #6) > > Created attachment 36741 [details] > > prototype-fix > > > > diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c > > index b614412..55a6334 100644 > > --- a/gcc/tree-ssa-loop-manip.c > > +++ b/gcc/tree-ssa-loop-manip.c > > @@ -136,6 +136,11 @@ create_iv (tree base, tree step, tree var, struct loop > > *loop, > > gsi_insert_seq_on_edge_immediate (pe, stmts); > > > >phi = create_phi_node (vb, loop->header); > > + if (TREE_OVERFLOW (initial) > > + && TREE_CODE (initial) == INTEGER_CST > > + && int_fits_type_p (initial, TREE_TYPE (vb))) > > +initial = drop_tree_overflow (initial); > > + > >add_phi_arg (phi, initial, loop_preheader_edge (loop), UNKNOWN_LOCATION); > >add_phi_arg (phi, va, loop_latch_edge (loop), UNKNOWN_LOCATION); > > } > > I think it's better to track down where the constant is generated. I > see initial is created by > > initial = force_gimple_operand (base, , true, var); > > thus likely base is already the same constant (passed from the caller). > > I usually set a breakpoint on the return statement of ggc_internal_alloc > conditional on the return value being the tree with the overflow. > > Once the overflow value is returned from fold_* () it should be stripped > off its overflow flag. Unconditionally so with just > > if (TREE_OVERFLOW_P (..)) >.. = drop_tree_overflow (..); Richard, After further investigation on where the overflow flag comes from. I found there are too many possibility. For example, for the testcase reported in PR68326, it's originated at fully_constant_expression, at tree-ssa-pre.c when handling tcc_unary, the fold_unary will set overflag flag. While for the testcase in this PR, there are quite a few OVF variables, For the one caused the ICE, the OVF is inherited from another OVF variable and the most early I can track down is at tree-ssa-ccp.c, tree variable "simplified" is simplifed by gimple-fold infrastructure, and conclude to be overflowed which is correct (C source code is print(..."0x%08x...", (0xff4 + i) * 0x10..., the multiply are assumed to be generating signed int, thus overflowed.), While my understanding is it's only used to generate warning. So I tested to call drop_tree_overflow, but then later passes will re-calculate the variable, and re-set the overflow flag, for example in chrec_fold*. I don't undertand related code base, and fell it will be dangerous to just call drop_tree_overflow in those places. After a second thinking, this ICE is caused by adjust_range_with_scev getting range with overflowed constants min or max. So given there are too many places to generate OVF, can we just do a check in adjust_range_with_scev, if the constant min or max in the range info can fit into the variable type, then naturally we should treat those OVF as false alarm and drop them? something like the following, which I think can fix the OVF side-effect caused by r230150. diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index e2393e4..56440b1 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -4331,6 +4331,16 @@ adjust_range_with_scev (value_range *vr, struct loop *loop, && is_positive_overflow_infinity (max))) return; + if (TREE_CODE (min) == INTEGER_CST + && TREE_OVERFLOW (min) + && int_fits_type_p (min, type)) +min = drop_tree_overflow (min); + + if (TREE_CODE (max) == INTEGER_CST + && TREE_OVERFLOW (max) + && int_fits_type_p (max, type)) +max = drop_tree_overflow (max); + set_value_range (vr, VR_RANGE, min, max, vr->equiv); }
[Bug tree-optimization/68373] autopar fails on loop exit phi with argument defined outside loop
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68373 vries at gcc dot gnu.org changed: What|Removed |Added Attachment #36762|0 |1 is obsolete|| --- Comment #3 from vries at gcc dot gnu.org --- Created attachment 36764 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36764=edit Updated patch v2, to be tested
[Bug other/68406] dbxout.c:2570:16: error: no matching function for call to 'hash_set<tree_node*>::traverse(vec<tree_node*>*)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68406 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Richard Biener --- Fixed.
[Bug target/68416] New: [MPX] GCC emits a lot of redundant bndmov instructions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68416 Bug ID: 68416 Summary: [MPX] GCC emits a lot of redundant bndmov instructions Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ienkovich at gcc dot gnu.org Target Milestone: --- Many tests show we have lots of redundant bndmov instructions. E.g.: >cat test.c int foo(int **arr, int i) { return (*arr)[i]; } >gcc -O2 -mmpx -fcheck-pointer-bounds test.c -S >cat test.s .file "test.c" .text .p2align 4,,15 .globl foo .type foo, @function foo: .LFB1: .cfi_startproc bndcl (%rdi), %bnd0 bndmov %bnd0, -24(%rsp) movslq %esi, %rsi bndcu 7(%rdi), %bnd0 movq(%rdi), %rax bndldx (%rdi,%rax), %bnd3 leaq(%rax,%rsi,4), %rax bndmov %bnd3, -24(%rsp) bndcl (%rax), %bnd3 bndmov -24(%rsp), %bnd1 bndcu 3(%rax), %bnd1 movl(%rax), %eax bnd ret Here we have 3 bndmov instructions we don't need.
[Bug tree-optimization/66131] [6 Regression] Wrong code w/ -O2 -ftree-loop-linear
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66131 --- Comment #2 from Arseny Solokha --- (In reply to Bernd Edlinger from comment #1) > Note: the test case as-it-is, does no longer reproduce on trunk. You're right. I've just tried and failed to reproduce it w/ gcc-6.0.0-alpha20151115 and all Graphite-related flags that I normally use.
[Bug tree-optimization/68341] [6 Regression] FAIL: gcc.dg/graphite/interchange-{1,11,13}.c (internal compiler error)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68341 sandra at gcc dot gnu.org changed: What|Removed |Added CC||sandra at gcc dot gnu.org --- Comment #2 from sandra at gcc dot gnu.org --- I'm also seeing these failures on nios2-elf.
[Bug c++/68348] [6 regression] ICE: segfault in cxx_eval_constant_expression at cp/constexpr.c:3172
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68348 --- Comment #3 from Marek Polacek --- A bit shorter: struct C { constexpr C() : w(), x(), y() {} constexpr double fn() const noexcept; double w; double x; double y; }; constexpr double C::fn() const noexcept { return w; } C foo() { C c; c.fn (); return c; }
[Bug rtl-optimization/68173] gcc does not terminate with -O0 on source file with a very large expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68173 --- Comment #7 from Vladimir Makarov --- GCC on trunk is 50 times slower than LLVM-3.7 in -O0 mode on this test. In -O2 mode GCC is only 20% slower than LLVM-3.7 in the same mode and faster than LLVM-3.7 with -O0. About 80% of compile time GCC spent in RA, more accurately in bitmap code used by LRA (actually bitmap code takes even more if we take their usage from other passes). Conversion bitmaps to sparsets where memory requirements permit did not help at all. After analyzing RA dumps (working with 8GB dump files in emacs even on machine with 128GB memory is not fun as it reacts to any key press with big delays), I believe the problem is not in RA but somewhere before as we have *5M* allocnos and *10M* program points in -O0 mode and only *6K* allocnos and *20K* program points in -O2 mode. Even if I make RA instant, GCC will be still 10 times slower in -O0 mode than LLVM. I guess solution for the PR would be switching on some optimizations in -O0 mode which can help decreasing number of pseudos but I am not sure it is a right thing to do in general.
[Bug target/68410] config/nios2/nios2.c: 4123: duplicates in expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68410 --- Comment #3 from sandra at gcc dot gnu.org --- Author: sandra Date: Wed Nov 18 19:45:47 2015 New Revision: 230563 URL: https://gcc.gnu.org/viewcvs?rev=230563=gcc=rev Log: 2015-11-18 Sandra LoosemorePR target/68410 * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests from || expression. Modified: trunk/gcc/ChangeLog trunk/gcc/config/nios2/nios2.c
[Bug target/68410] config/nios2/nios2.c: 4123: duplicates in expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68410 sandra at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from sandra at gcc dot gnu.org --- Fixed now.
[Bug libstdc++/66059] make_integer_sequence should use a log(N) implementation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66059 --- Comment #10 from Jonathan Wakely --- (In reply to Adrian Wielgosik from comment #9) > TOTAL : 0.97 0.01 0.99 > 119627 kB By passing in the length of the first sequence instead of using sizeof... the std::make_integer_sequence result comes down to: TOTAL : 0.23 0.01 0.25 15114 kB Which is very reasonable, and within an order of magnitude of Daniel's, which I think is good enough (especially if we're going to get a compiler intrinsic eventually anyway). But rather than making that change I think the right thing to do is to fix the front-end so that sizeof... doesn't make such a big difference and we don't have to jump through hoops to avoid it. I'll file a PR for that tomorrow.
[Bug tree-optimization/65424] gcc does not recognize byte swaps implemented as loop.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65424 --- Comment #3 from Robert Clausecker --- I checked this again on a computer with more RAM and compilation does indeed terminate after 23 minutes. On the original machine, the compiler most likely swapped a lot contrary to my original report in which I didn't let the compiler run long enough to start swapping. Can someone mark this as CONFIRMED?
[Bug libstdc++/66059] make_integer_sequence should use a log(N) implementation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66059 --- Comment #11 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #7) > The version I came up with is very close to Xeo's at stackoverflow. I tried > something more like yours and it used a LOT more memory. > > Here's what I tested: > > #include > > namespace std > { > template struct _Index_tuple { }; > > #if DUP > template struct _Itup_dup; > > template > struct _Itup_dup<_Index_tuple<_Ind...>, 0> > { > static constexpr size_t _Nm = sizeof...(_Ind); > using __type = _Index_tuple<_Ind..., _Nm + _Ind...>; > }; It turns out that the huge cost of this version is not due to sizeof... it's due to the static variable, _Nm Avoiding sizeof... helps too, but not as much as eliminating the variable and writing it as: using __type = _Index_tuple<_Ind..., sizeof...(_Ind) + _Ind...>;
[Bug go/68420] Errors with go escape analysis
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68420 boger at us dot ibm.com changed: What|Removed |Added Target||ppc64le, x86_64 --- Comment #1 from boger at us dot ibm.com --- Fails on ppc64le and x86_64.
[Bug rtl-optimization/68173] gcc takes a long time and a lot of memory with -O0 on source file with very large expression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68173 --- Comment #8 from Robert Clausecker --- I checked this again on a computer with more RAM and compilation does indeed terminate after 23 minutes. On the original machine, the compiler most likely swapped a lot contrary to my original report in which I didn't let the compiler run long enough to start swapping. Can someone mark this as CONFIRMED?
[Bug tree-optimization/65424] gcc does not recognize byte swaps implemented as loop.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65424 --- Comment #4 from Robert Clausecker --- Sorry, comment was posted to the wrong bug. I have trouble using your bug reporting software, the “automatically go to next bug after making a change” behaviour is weird and unintuitive.
[Bug go/68420] New: Errors with go escape analysis
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68420 Bug ID: 68420 Summary: Errors with go escape analysis Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: boger at us dot ibm.com CC: cmang at google dot com Target Milestone: --- Escape analysis for Go was added to gcc trunk, but there are errors when using it. It is not enabled by default, but requires the option -fgo-optimize-allocs to enable it. Details on the problem are documented in the golang issue tracker https://github.com/golang/go/issues/12965. I was asked to open this as a bugzilla in addition to the Go issue for gcc tracking purposes.
[Bug lto/67548] [5/6 Regression] LTO drops weak binding with "ld -r"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67548 Jan Hubicka changed: What|Removed |Added CC||hubicka at gcc dot gnu.org --- Comment #8 from Jan Hubicka --- There are two incremental link implementations: 1) HJ's binutils will concat the sections, 2) mainline binutils will invoke GCC via plugin and produce .o file with final assembly. The correct implementation IMO is 3) invoke GCC via plugin and produce the merge LTO file (i.e. cut the process before WPA optimization starts and stream out everything again). 3) would be only way to also support fat LTO files. Sadly we do not have plugin API interface for 2) or 3). 2) would be relatively easy - we only need to make GCC know it does incremental linking and assume that every symbol can be bound externally. I did not find way how to get this situation detected from the plugin/wrapper though and I am not sure how useful it is in practice given that it won't give you whole program optimization.
[Bug c++/68170] [6 Regression] Declaring friend template class template in C++1z produces error: specialization of ‘template class A’ must appear at namespace
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68170 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.0
[Bug tree-optimization/68379] [6 Regression] BB vectorization: definition in block 13 follows the use for SSA_NAME
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68379 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.0
[Bug tree-optimization/68157] [5/6 Regression] internal compiler error: in reassoc_stmt_dominates_stmt_p, at tree-ssa-reassoc.c:1287
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68157 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Wed Nov 18 10:31:51 2015 New Revision: 230532 URL: https://gcc.gnu.org/viewcvs?rev=230532=gcc=rev Log: PR tree-optimization/68157 * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of pow_stmt or mul_stmt from stmt's uid. (reassociate_bb): Set uid of mul_stmt from stmt's uid. * g++.dg/opt/pr68157.C: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/opt/pr68157.C Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa-reassoc.c
[Bug rtl-optimization/67609] [5 Regression] Generates wrong code for SSE2 _mm_load_pd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67609 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #35 from Jakub Jelinek --- (In reply to Richard Henderson from comment #34) > Fixed for 6; let's wait a bit and see if there's any more fallout > before backporting to 5. GCC 5.3 (rc1?) is ~ 2 weeks away, isn't it the right time for the backport now?
[Bug bootstrap/66038] [5 regression] (stage 2) build/genmatch issue (gcc/hash-table.h|c) with --disable-checking [ introduced by r218976 ]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66038 Richard Biener changed: What|Removed |Added Keywords||build Status|NEW |WAITING --- Comment #30 from Richard Biener --- Any status update? Does bootstrap work on trunk (with --disable-checking)?
[Bug other/68406] dbxout.c:2570:16: error: no matching function for call to 'hash_set<tree_node*>::traverse(vec<tree_node*>*)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68406 --- Comment #3 from vries at gcc dot gnu.org --- (In reply to vries from comment #2) > Now trying a build of r230533 with: > - r230486 (Replace match.pd DEFINE_MATH_FNs with auto-generated lists) and > - r230476 (Add gencfn-macros.c) > reverted. (The revert of r230476 on r230533 does not apply cleanly). That approach is not working. Too many dependencies already.
[Bug fortran/66244] [4.9/5/6 Regression] ICE on assigning a value to a pointer variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66244 Richard Biener changed: What|Removed |Added Keywords||ice-on-invalid-code Priority|P3 |P4
[Bug target/66930] [5 Regression]: gengtype.c is miscompiled during stage2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66930 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #19 from Richard Biener --- Fixed I suppose?
[Bug target/66930] [5 Regression]: gengtype.c is miscompiled during stage2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66930 --- Comment #20 from Oleg Endo --- Yes, fixed. Although it probably could be reverted again because the actual issue was in sh_find_set_of_reg and it has been extended. I'll see if it's safe to revert it some time later.
[Bug tree-optimization/66992] [4.9/5/6 Regression] Incorrect array subscript is above bounds warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66992 Richard Biener changed: What|Removed |Added Keywords||diagnostic, ||missed-optimization Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed||2015-11-18 Known to work||4.7.4 Ever confirmed|0 |1 --- Comment #2 from Richard Biener --- Confirmed.
[Bug rtl-optimization/67609] [5 Regression] Generates wrong code for SSE2 _mm_load_pd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67609 Richard Biener changed: What|Removed |Added Priority|P3 |P2 --- Comment #36 from Richard Biener --- Yes please.
[Bug ipa/67600] [5 Regression] Segfault when assigning only one char to ostreambuf_iterator compiled with -O2 or -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67600 Richard Biener changed: What|Removed |Added Priority|P3 |P2 --- Comment #11 from Richard Biener --- r229279 | hubicka | 2015-10-24 01:33:58 +0200 (Sat, 24 Oct 2015) | 7 lines PR ipa/pr67600 * ipa-polymorphic-call.c (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse instance offset with offset of outer type. * g++.dg/torture/pr67600.C: New testcase.
[Bug middle-end/68067] [4.9/5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68067 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug c/68062] [4.9/5/6 Regression] ICE when comparing vectors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68062 Richard Biener changed: What|Removed |Added Priority|P3 |P2 --- Comment #10 from Richard Biener --- IMHO doing signed -> unsigned promotion (and consistently also for the result then) should be allowed.
[Bug rtl-optimization/68205] [5 regression] ICE compiling gcc.c-torture/execute/20040709-2.c with -fno-common on arm-none-eabi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68205 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug other/68406] dbxout.c:2570:16: error: no matching function for call to 'hash_set<tree_node*>::traverse(vec<tree_node*>*)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68406 --- Comment #6 from vries at gcc dot gnu.org --- (In reply to vries from comment #5) > (In reply to rsand...@gcc.gnu.org from comment #4) > > Created attachment 36755 [details] > > Patch > > Please try the attached. > That seems to do the trick. The build has arrived at the point of building > libraries, while it previously broke while building cc1. Confirmed, build succeeded.
[Bug fortran/68196] [4.9/5/6 Regression] ICE on function result with procedure pointer component
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68196 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/66244] [4.9/5/6 Regression] ICE on assigning a value to a pointer variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66244 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug ada/66242] Front-end error if exception propagation disabled
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66242 --- Comment #4 from Arnaud Charlet --- Author: charlet Date: Wed Nov 18 10:30:12 2015 New Revision: 230531 URL: https://gcc.gnu.org/viewcvs?rev=230531=gcc=rev Log: 2015-11-18 Hristian KirtchevPR ada/66242 * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort defer / undefer pairs are now encapsulated in a block with an AT END handler. Partial finalization now takes restriction No_Exception_Propagation into account when generating blocks. * exp_ch7.adb Various reformattings. (Create_Finalizer): Change the generation of abort defer / undefer pairs and explain the lack of an AT END handler. (Process_Transient_Objects): Add generation of abort defer/undefer pairs. * exp_ch9.adb Various reformattings. (Build_Protected_Subprogram_Body): Use Build_Runtime_Call to construct a call to Abort_Defer. (Build_Protected_Subprogram_Call_Cleanup): Use Build_Runtime_Call to construct a call to Abort_Undefer. (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to construct a call to Abort_Defer. * exp_intr.adb (Expand_Unc_Deallocation): Abort defer / undefer pairs are now encapsulated in a block with an AT END handler. Finalization now takes restriction No_Exception_Propagation into account when generating blocks. * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed. Modified: trunk/gcc/ada/exp_ch3.adb trunk/gcc/ada/exp_ch7.adb trunk/gcc/ada/exp_ch9.adb trunk/gcc/ada/exp_intr.adb trunk/gcc/ada/exp_util.adb trunk/gcc/ada/exp_util.ads
[Bug other/68406] dbxout.c:2570:16: error: no matching function for call to 'hash_set<tree_node*>::traverse(vec<tree_node*>*)'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68406 --- Comment #2 from vries at gcc dot gnu.org --- Now trying a build of r230533 with: - r230486 (Replace match.pd DEFINE_MATH_FNs with auto-generated lists) and - r230476 (Add gencfn-macros.c) reverted. (The revert of r230476 on r230533 does not apply cleanly).
[Bug c++/57335] internal compiler error: in cxx_eval_bit_field_ref, at cp/semantics.c:6977
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57335 Paolo Carlini changed: What|Removed |Added CC||paolo.carlini at oracle dot com --- Comment #12 from Paolo Carlini --- Surprisingly, no progress on this!? Any quick idea? Otherwise, I'm going to look into it a bit (again)...
[Bug debug/65822] Used variant fun names in dwarf info for CTORs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65822 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2015-11-18 Target Milestone|4.9.4 |--- Summary|[4.9/5/6 Regression] Used |Used variant fun names in |variant fun names in dwarf |dwarf info for CTORs |info for CTORs | Ever confirmed|0 |1 Known to fail||5.2.0, 6.0 Severity|normal |enhancement --- Comment #5 from Richard Biener --- The testcase doesn't compile with anything older than GCC 4.7 and GCC 4.7 has the very same issue. I had to strip down the testcase to make it compile with GCC 4.6 where I get instead no debug info at all for the CTORS. So not sure how this is a regression without a proper testcase and a known-to-work field set. Confirmed on trunk.
[Bug ipa/66223] [5/6 Regression] Diagnostic of pure virtual function call broken, including __cxa_pure_virtual
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66223 Richard Biener changed: What|Removed |Added Keywords||diagnostic Priority|P3 |P2 CC||hubicka at gcc dot gnu.org --- Comment #4 from Richard Biener --- So it boils down to a QOI issue as the program invokes undefined behavior (unless the standard mandates sth for this case). We currently use __builtin_unreachable () which indeed has some interesting debugging effects but allows for best optimization.
[Bug target/68408] New: sparc-elf, c++: broken support for attribute init_priority.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68408 Bug ID: 68408 Summary: sparc-elf, c++: broken support for attribute init_priority. Product: gcc Version: 5.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: sorganov at gmail dot com Target Milestone: --- g++ at version 5.2.1 for sparc-elf misses proper support for attribute init_priority: resulting ".ctors" section does not have priority number appended to its name as it should be: $ cat init-priority.cc struct A { A() {} } a __attribute__ ((init_priority(365))); $ ~/try/sparc-elf-5.2.0/bin/sparc-elf-g++ -c -Wa,-ahdl -save-temps init-priority.cc -o /dev/null | grep ctors 83.section".ctors",#alloc,#write g++ 3.4.4 on the same target correctly gives: $ /opt/sparc-elf-3.4.4//bin/sparc-elf-g++ -c -Wa,-ahdl -save-temps init-priority.cc -o /dev/null | grep ctors 73.section".ctors.65170",#alloc,#write g++ 5.2.1 on x86 target also correctly gives: $ ~/try/gcc-5.2.0/bin/g++ -c -Wa,-ahdl -save-temps init-priority.cc -o /dev/null | grep init_array 75.section.init_array.00365,"aw"
[Bug ipa/67056] [5 regression] Wrong code generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67056 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug rtl-optimization/67037] [4.9/5 Regression] Wrong code at -O1 and above on ARM
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67037 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug c++/67339] [5/6 Regression] Segfault when parsing a typename involving a template-alias
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67339 Richard Biener changed: What|Removed |Added Keywords||ice-on-valid-code Priority|P3 |P2 Known to work||4.9.3
[Bug c++/67354] [5/6 regression] internal compiler error: in add_to_same_comdat_group, at symtab.c:421
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67354 Richard Biener changed: What|Removed |Added Keywords||ice-on-valid-code Priority|P3 |P2
[Bug c++/67411] [5/6 Regression] internal compiler error: in tsubst_copy, at cp/pt.c:13473
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67411 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug c++/67409] [5/6 Regression] tree-cfg.c dereferences a NULL pointer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67409 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug c/68412] New: ICE with -Wall -Wextra in fold_binary_loc()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68412 Bug ID: 68412 Summary: ICE with -Wall -Wextra in fold_binary_loc() Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: sirl at gcc dot gnu.org Target Milestone: --- With x86_64 gcc-6 r230524 (r230119 was still OK) compiling this little fragment with -Wall -Wextra: int testwarn(int *pCnShifted) { int cnShifted = *pCnShifted; _Bool isNullSource = (cnShifted == ((-1) << (8))); if (!isNullSource) return 0; else return 1; } I see this ICE: test.c: In function 'testwarn': test.c:6:46: warning: left shift of negative value [-Wshift-negative-value] _Bool isNullSource = (cnShifted == ((-1) << (8))); ^~ test.c:6:5: internal compiler error: in fold_binary_loc, at fold-const.c:9085 _Bool isNullSource = (cnShifted == ((-1) << (8))); ^ 0x61056e fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) ../../gcc/fold-const.c:9082 0x6214d4 fold(tree_node*) ../../gcc/fold-const.c:11974 0x48ee10 warn_tautological_cmp(unsigned int, tree_code, tree_node*, tree_node*) ../../gcc/c-family/c-common.c:1927 0x454cb6 parser_build_binary_op(unsigned int, tree_code, c_expr, c_expr) ../../gcc/c/c-typeck.c:3528 0x470c08 c_parser_binary_expression ../../gcc/c/c-parser.c:6544 0x471075 c_parser_conditional_expression ../../gcc/c/c-parser.c:6187 0x471570 c_parser_expr_no_commas ../../gcc/c/c-parser.c:6104 0x471a92 c_parser_expression ../../gcc/c/c-parser.c:8250 0x46ce4f c_parser_postfix_expression ../../gcc/c/c-parser.c:7412 0x46f45a c_parser_unary_expression ../../gcc/c/c-parser.c:6774 0x470137 c_parser_cast_expression ../../gcc/c/c-parser.c:6607 0x470355 c_parser_binary_expression ../../gcc/c/c-parser.c:6416 0x471075 c_parser_conditional_expression ../../gcc/c/c-parser.c:6187 0x471570 c_parser_expr_no_commas ../../gcc/c/c-parser.c:6104 0x47fd5a c_parser_initializer ../../gcc/c/c-parser.c:4225 0x4690fc c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:1850 0x46c8cb c_parser_compound_statement_nostart ../../gcc/c/c-parser.c:4688 0x480fce c_parser_compound_statement ../../gcc/c/c-parser.c:4599 0x469a41 c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2017 0x48460d c_parser_external_declaration ../../gcc/c/c-parser.c:1461
[Bug target/68363] [4.9/5/6 Regression] ICE: in recog_memoized, at recog.h:167 with RTL checking with -mfix-cortex-a53-835769 @ aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68363 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug rtl-optimization/68328] [4.9/5/6 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68328 Richard Biener changed: What|Removed |Added Keywords||wrong-code Priority|P3 |P2
[Bug ipa/66616] [4.9/5/6 regression] fipa-cp-clone ignores thunk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66616 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed||2015-11-18 CC||jamborm at gcc dot gnu.org Known to work||4.8.5 Ever confirmed|0 |1 Known to fail||4.9.3, 5.2.0, 6.0 --- Comment #5 from Richard Biener --- Still broken.
[Bug tree-optimization/66868] [5 Regression] wrong code generated with -O3 (dead code removal?)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66868 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2015-11-18 Summary|[5/6 Regression] wrong code |[5 Regression] wrong code |generated with -O3 (dead|generated with -O3 (dead |code removal?) |code removal?) Ever confirmed|0 |1 --- Comment #12 from Richard Biener --- Matthias, can you bisect what makes it work on trunk?
[Bug c++/66921] [4.9/5/6 Regression] failure to determine size of static constexpr array that is nested within a templated class
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66921 Richard Biener changed: What|Removed |Added Keywords||rejects-valid Priority|P3 |P2
[Bug c++/68407] Code generation failure, "rep ret" in .s file
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68407 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||trippels at gcc dot gnu.org Resolution|--- |INVALID --- Comment #1 from Markus Trippelsdorf --- Use a newer binutils. Not a gcc issue.