[Bug tree-optimization/71521] [6 Regression] Regression in GCC-7.0.0's optimizer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71521 --- Comment #7 from Richard Biener --- Author: rguenth Date: Thu Jul 7 07:30:04 2016 New Revision: 238077 URL: https://gcc.gnu.org/viewcvs?rev=238077&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-05-25 Richard Biener PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71522.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/vrp101.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/vect/pr71264.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/match.pd branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-ssa.c branches/gcc-6-branch/gcc/tree-vect-stmts.c branches/gcc-6-branch/gcc/tree-vrp.c
[Bug tree-optimization/71423] [5/6 Regression] wrong code at -Os and above on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71423 --- Comment #6 from Richard Biener --- Author: rguenth Date: Thu Jul 7 07:30:04 2016 New Revision: 238077 URL: https://gcc.gnu.org/viewcvs?rev=238077&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-05-25 Richard Biener PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71522.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/vrp101.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/vect/pr71264.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/match.pd branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-ssa.c branches/gcc-6-branch/gcc/tree-vect-stmts.c branches/gcc-6-branch/gcc/tree-vrp.c
[Bug tree-optimization/71452] [4.9/5/6 Regression] Wrong optimization of stores to _Bool via char*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71452 --- Comment #4 from Richard Biener --- Author: rguenth Date: Thu Jul 7 07:30:04 2016 New Revision: 238077 URL: https://gcc.gnu.org/viewcvs?rev=238077&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-05-25 Richard Biener PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71522.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/vrp101.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/vect/pr71264.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/match.pd branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-ssa.c branches/gcc-6-branch/gcc/tree-vect-stmts.c branches/gcc-6-branch/gcc/tree-vrp.c
[Bug tree-optimization/71264] [4.9/5 Regression] ICE in convert_move
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71264 --- Comment #14 from Richard Biener --- Author: rguenth Date: Thu Jul 7 07:30:04 2016 New Revision: 238077 URL: https://gcc.gnu.org/viewcvs?rev=238077&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-05-25 Richard Biener PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71522.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/vrp101.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/vect/pr71264.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/match.pd branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-ssa.c branches/gcc-6-branch/gcc/tree-vect-stmts.c branches/gcc-6-branch/gcc/tree-vrp.c
[Bug tree-optimization/71522] [5/6 Regression] Wrong optimization of memcpy through a var of type long double
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71522 --- Comment #6 from Richard Biener --- Author: rguenth Date: Thu Jul 7 07:30:04 2016 New Revision: 238077 URL: https://gcc.gnu.org/viewcvs?rev=238077&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-05-25 Richard Biener PR tree-optimization/71264 * tree-vect-stmts.c (vect_init_vector): Properly deal with vector type val. * gcc.dg/vect/pr71264.c: New testcase. 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71521 * tree-vrp.c (extract_range_from_binary_expr_1): Guard division int_const_binop against zero divisor. * gcc.dg/tree-ssa/vrp101.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/torture/pr71522.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/vrp101.c branches/gcc-6-branch/gcc/testsuite/gcc.dg/vect/pr71264.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/match.pd branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/tree-ssa.c branches/gcc-6-branch/gcc/tree-vect-stmts.c branches/gcc-6-branch/gcc/tree-vrp.c
[Bug tree-optimization/71521] [6 Regression] Regression in GCC-7.0.0's optimizer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71521 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Richard Biener --- Fixed.
[Bug c++/71786] Constructor never called
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71786 Marc Glisse changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Marc Glisse --- The second A is constructed by a copy/move constructor, which is generated by default. You need to write one yourself and register the pointer there.
[Bug c++/71774] [5/6/7 regression] Bogus "is protected" error when list-initializing a base class with a defaulted protected constructor and a virtual function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71774 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug c++/71728] [5/6/7 Regression] ICE with goto in statement-expression inside a condition
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71728 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug fortran/71067] [4.9/5/6/7 Regression] ICE on data initialization with insufficient value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71067 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug c++/63151] [5/6/7 regression] Accessibility error when brace-constructing base class with protected defaulted constructor and member variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63151 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug c++/69223] [5/6/7 regression] ICE with polymorphic lambda
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69223 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug fortran/71688] [4.9/5/6/7 Regression] ICE in analyze, at cgraphunit.c:632 with -fcoarray=lib
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71688 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71705] [4.9/5/6/7 Regression] ICE in lower_omp_target, at omp-low.c:16136
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71705 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71703] [4.9/5/6/7 Regression] ICE in wide_int_to_tree, at tree.c:1488
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71703 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71066] [4.9/5/6/7 Regression] ICE in set_loop_bounds, at fortran/trans-array.c:4680
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71066 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71764] [4.9/5/6/7 Regression] ICE in gfc_trans_structure_assign
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71764 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71723] [4.9/5/6/7 Regression] ICE with attempted pointer initialization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71723 Richard Biener changed: What|Removed |Added Target Milestone|--- |4.9.4
[Bug fortran/71706] [6/7 Regression] ICE on using sync images with integer(kind<>4), with -fcoarray=lib -fcheck=bounds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71706 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.2
[Bug middle-end/71473] [5/6/7 Regression] cilkplus sum reducer ICE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71473 Richard Biener changed: What|Removed |Added Target Milestone|--- |5.5
[Bug fortran/71758] [7 Regression] ICE in verify_gimple_in_cfg, at tree-cfg.c:5212
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71758 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug c++/71710] [7 Regression] ICE on valid C++11 code with decltype and alias template: in lookup_member, at cp/search.c:1255
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71710 Richard Biener changed: What|Removed |Added Target Milestone|--- |7.0
[Bug c++/71718] [6/7 Regression] ICE on erroneous recursive template error printing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71718 Richard Biener changed: What|Removed |Added Target Milestone|--- |6.2
[Bug libstdc++/60621] std::vector::emplace_back generates massively more code than push_back
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60621 --- Comment #7 from marc at kdab dot com --- Retesting with GCC 6.1, it looks better now: $ g++ -O2 -o emplace-vs-push_back{.pb,.cpp} $ g++ -O2 -o emplace-vs-push_back{.eb,.cpp} -DEMPLACE_BACK $ strip emplace-vs-push_back.* $ size emplace-vs-push_back.* textdata bss dec hex filename 4474 680 85162142a emplace-vs-push_back.eb 4830 680 85518158e emplace-vs-push_back.nt 5083 656 857471673 emplace-vs-push_back.pb somewhat at the expense of pessimising push_back(), which used to be 500b smaller in Comment 3, but at least the relation between emplace_back and push_back, and between emplace_back(char[2], char[2], char[2]) and emplace_back(std::string, std::string, std::string) are now as expected.
[Bug c++/70822] [6 Regression] bogus "error: lvalue required as unary ‘&’ operand" with C++14 parenthesized SCOPE_REF
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70822 Richard Biener changed: What|Removed |Added Keywords||rejects-valid Priority|P3 |P2 Known to fail||6.1.0
[Bug tree-optimization/70916] [6 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70916 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Status|NEW |RESOLVED Known to work||6.2.0 Resolution|--- |FIXED Known to fail||6.1.0 --- Comment #10 from Richard Biener --- Yeah, better not backport that one.
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #1 from Martin Liška --- Can you please attach a test-case that produces a crash, I tried to follow the instruction in the attaches test-case, but it's not clear to me. Thanks
[Bug middle-end/71789] New: atomic_int incompatibility warning between C and C++ [-Wlto-type-mismatch]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71789 Bug ID: 71789 Summary: atomic_int incompatibility warning between C and C++ [-Wlto-type-mismatch] Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: patrick.pelissier at gmail dot com Target Milestone: --- Trying to use a C library within a C++ program, I get some errors due to the header of the C library including stdatomic.h Following the advice of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932 I tried to patch the header with: #ifdef __cplusplus #include using namespace std; #else #include #endif However when I link the final application with LTO, I get some warning. It can be shown by the following example: c.c: #include "c.h" bool f(atomic_int b) { return b == 0; } c.cpp: #include "c.h" int main(void) { bool b = f(ATOMIC_VAR_INIT(0)); return b ? 0 : 1; } c.h: #ifndef __C_H #define __C_H #include #ifdef __cplusplus #include using namespace std; #else #include #endif #ifdef __cplusplus extern "C" { #endif extern bool f(atomic_int n); #ifdef __cplusplus } #endif #endif And the used compilation command: $ gcc -c -flto -O2 -Wall -W -std=c11 c.c -o c1.o && g++ -c -flto -O2 -Wall -W -std=c++11 c.cpp -o c2.o && g++ -flto -O2 -Wall c1.o c2.o gives the following warning: c.h:18:13: attention : type of ‘f’ does not match original declaration [-Wlto-type-mismatch] extern bool f(atomic_int n); ^ c.c:3:6: note : type mismatch in parameter 1 bool f(atomic_int b) ^ /opt/gcc/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include/stdatomic.h:46:21: note : type ‘atomic_int’ should match type ‘struct atomic_int’ typedef _Atomic int atomic_int; ^ /opt/gcc/include/c++/6.1.0/atomic:794:25: note : the incompatible type is defined here typedef atomic atomic_int; ^ c.c:3:6: note : ‘f’ was previously declared here bool f(atomic_int b) ^ c.c:3:6: note : code may be misoptimized unless -fno-strict-aliasing is used $ gcc --version gcc (GCC) 6.1.0
[Bug c++/71790] New: C++ attributes on expression statements result in compile error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71790 Bug ID: 71790 Summary: C++ attributes on expression statements result in compile error Product: gcc Version: 6.1.1 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tcorbat at hsr dot ch Target Milestone: --- I encounter problems when using C++ attributes on expression statements while compiling with GCC. For example: int main(int argc, char **argv) { int i{}; [[arbitrary_attribute]] i++; } I get the following error: ../main.cpp: In function ‘int main(int, char**)’: ../main.cpp:3:3: error: expected identifier before ‘[’ token [[arbitrary_attribute]] ^ I would expect the compiler to issue a warning but otherwise ignore the unknown attribute.
[Bug target/71559] ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #21 from Jakub Jelinek --- Thus this PR is fixed and the other one needs to deal with all the spots where the comparisons instructions are chosen in the backend.
[Bug ipa/71633] [7 regression][CHKP] internal compiler error: in inline_call
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71633 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 CC||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed.
[Bug c++/71789] atomic_int incompatibility warning between C and C++ [-Wlto-type-mismatch]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71789 Richard Biener changed: What|Removed |Added Keywords||lto CC||jason at gcc dot gnu.org, ||jsm28 at gcc dot gnu.org Component|middle-end |c++ --- Comment #1 from Richard Biener --- Well, clearly C++ atomic_int (aka atomic) and C atomic_int (aka _Atomic int) do not inter-operate. It might be possible that you are lucky for the x86_64 ABI but certainly TBAA will not treat things like aggregate copies of C++ atomic_int as possibly clobbering a C _Atomic int. I'm not sure what standards bodies thought on this issue but it looks hard to apply a workaround to LTO (the types would need to share TYPE_CANONICAL which is impossible at the moment as one is a plain INTEGER_TYPE and one is a RECORD_TYPE).
[Bug middle-end/71785] Computed gotos are mostly optimized away
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71785 Richard Biener changed: What|Removed |Added Keywords||missed-optimization Component|c |middle-end --- Comment #4 from Richard Biener --- Note we factor computed gotos to reduce CFG complexity but late on RTL there is some un-factoring again.
[Bug ipa/71624] [6/7 regression][CHKP] internal compiler error: in duplicate_thunk_for_node
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71624 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 CC||marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed.
[Bug fortran/71783] [5/6/7 Regression ] ICE on valid code in gimplify_var_or_parm_decl at gimplify.c:1801
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71783 --- Comment #2 from Richard Biener --- As the comment says the FE is failing to put 'cline' into a BIND_EXPR. It has a '.cline' but not 'cline'.
[Bug fortran/71782] [5/6/7 Regression] internal compiler error: in gimplify_var_or_parm_decl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71782 Richard Biener changed: What|Removed |Added Priority|P3 |P4
[Bug sanitizer/70342] g++ -fsanitize=undefined never finishes compiling (>24h) in qtxmlpatterns test suite
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70342 marc at kdab dot com changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #13 from marc at kdab dot com --- confirmed fixed in gcc 6.1.1 20160624
[Bug tree-optimization/71575] [4.9/6/7 Regression] [graphite] internal compiler error: in copy_cond_phi_nodes, at graphite-isl-ast-to-gimple.c:2500
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71575 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 CC||marxin at gcc dot gnu.org Target Milestone|6.2 |4.9.4 Summary|[6/7 Regression] [graphite] |[4.9/6/7 Regression] |internal compiler error: in |[graphite] internal |copy_cond_phi_nodes, at |compiler error: in |graphite-isl-ast-to-gimple. |copy_cond_phi_nodes, at |c:2500 |graphite-isl-ast-to-gimple. ||c:2500 Ever confirmed|0 |1 --- Comment #2 from Martin Liška --- Confirmed, I'm adding also GCC 4.9 branches where it: sorry, unimplemented: Graphite loop optimizations cannot be used
[Bug target/71791] New: [ARM] missed the implementation of ACLE intrinsics vminnm_f32/vminnmq_f32/vmaxnm_f32/vmaxnmq_f32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71791 Bug ID: 71791 Summary: [ARM] missed the implementation of ACLE intrinsics vminnm_f32/vminnmq_f32/vmaxnm_f32/vmaxnmq_f32 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: xfail Severity: minor Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jiwang at gcc dot gnu.org Target Milestone: --- Target: arm* The are listed on at least ACLE 2.0 for ARM32, but GCC ARM port hasn't implemented them. There is backend pattern for them fmax/fmin but they are standard names without "neon_" prefix, the current neon intrinsic builtins .def for ARM seems force the prefix to be with "neon_", so there might needs minor tweak on the macro expand.
[Bug c++/71792] New: deducing type from bitfield leads to overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71792 Bug ID: 71792 Summary: deducing type from bitfield leads to overflow Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vrzubov at gmail dot com Target Milestone: --- Created attachment 38846 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38846&action=edit whole example, compiles with --std=c++11 class some_class { public: unsigned int nc0 : 1; }; some_class sm; // gives infinity cycle due to overflow of nc0:1 , in template case; for (auto i = sm.nc0; i < 10; i++) whole example is attached check with --std=c++11, in g++4.8, g++4.9, g++5, g++6
[Bug c++/71793] New: Volatile local variable passed by value is (wrongly?) optimised away, but the containing loop is not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71793 Bug ID: 71793 Summary: Volatile local variable passed by value is (wrongly?) optimised away, but the containing loop is not Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: db0451 at gmail dot com Target Milestone: --- Here's the original SO thread with more info and/or meandering pondering: http://stackoverflow.com/questions/38235112/why-is-a-volatile-local-variable-optimised-differently-from-a-volatile-argument g++ seems to break in a simple situation involving a function argument passed by value and declared volatile, wherein it acts differently than if such variable is declared in-body. In the former case, it elides volatile reads. #include void f(void *const p, std::size_t n) { unsigned char *y = static_cast(p); volatile unsigned char const x = 42; while (n--) { *y++ = x; } } void g(void *const p, std::size_t n, volatile unsigned char const x) { unsigned char *y = static_cast(p); while (n--) { *y++ = x; } } void h(void *const p, std::size_t n, volatile unsigned char const &x) { unsigned char *y = static_cast(p); while (n--) { *y++ = x; } } int main(int, char **) { int y[1000]; f(&y, sizeof y); volatile unsigned char const x{99}; g(&y, sizeof y, x); h(&y, sizeof y, x); } => ASM main: .LFB3: .cfi_startproc # f() movb$42, -1(%rsp) movl$4000, %eax .p2align 4,,10 .p2align 3 .L21: subq$1, %rax movzbl -1(%rsp), %edx jne .L21 # x = 99 movb$99, -2(%rsp) movzbl -2(%rsp), %eax # g() movl$4000, %eax .p2align 4,,10 .p2align 3 .L22: subq$1, %rax jne .L22 # h() movl$4000, %eax .p2align 4,,10 .p2align 3 .L23: subq$1, %rax movzbl -2(%rsp), %edx jne .L23 Is g() non-conforming here because it elides reads to a volatile variable? That might represent a hardware register whose polling has side-effects, etc. And either way, how is it that the loop body can be totally elided, rightly or not - but the loop itself still executes? (It's like I'm back programming waits on a CPC 464! ;-) thanks
[Bug middle-end/71785] Computed gotos are mostly optimized away
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71785 --- Comment #5 from Segher Boessenkool --- Created attachment 38847 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38847&action=edit proposed patch to bb-reorder Proposed patch. Works for the testcase in here without removing the 8 successors limitation, but that is needed in general.
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 --- Comment #2 from Ela --- Created attachment 38848 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38848&action=edit *.cc file producing the crash
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 --- Comment #3 from Ela --- Created attachment 38849 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38849&action=edit the compiler complaint
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 --- Comment #4 from Ela --- Created attachment 38850 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38850&action=edit code dump
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 --- Comment #5 from Ela --- gcc = gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
[Bug c++/71784] crash on on ref-qual's and templates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 --- Comment #6 from Ela --- - ... it doesn't matter (or it does ?) if op's are first instantiated via template, or everything is in one file and instantiated "per-need" when they appear (used). (tested various versions and cannot remember now) - in any case: it should work in the separate-compilation model, with files split in *.hh, *.cc, *.ie
[Bug c++/71789] atomic_int incompatibility warning between C and C++ [-Wlto-type-mismatch]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71789 --- Comment #2 from Jonathan Wakely --- The original intention of the C++ committee was that std::atomic_int would be compatible with the corresponding C type, but that design was changed during the C11 process when the _Atomic qualifier was added. They are distinct types with no relation. In libstdc++ we *try* to make them have the same size and alignment as the corresponding C types, but there are bugs on (at least) x86.
[Bug target/71791] [ARM] missed the implementation of ACLE intrinsics vminnm_f32/vminnmq_f32/vmaxnm_f32/vmaxnmq_f32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71791 ktkachov at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 CC||ktkachov at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from ktkachov at gcc dot gnu.org --- Confirmed.
[Bug rtl-optimization/71793] Volatile local variable passed by value is (wrongly?) optimised away, but the containing loop is not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71793 Richard Biener changed: What|Removed |Added Keywords||wrong-code Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 Component|c++ |rtl-optimization Ever confirmed|0 |1 Known to fail||5.4.0, 6.1.0 --- Comment #1 from Richard Biener --- As y is not used stores to it are eliminated in main(). I can confirm that RTL optimizers somehow remove the volatile load from x from the inline copy of g() which is because RTL expansion expands x as register copy for some reason. ;; x.11_3 ={v} x; (insn 19 18 0 (set (reg:QI 87 [ x.11_3 ]) (mem/v/c:QI (plus:DI (reg/f:DI 82 virtual-stack-vars) (const_int -2 [0xfffe])) [0 x+0 S1 A16])) t.C:36 -1 (nil)) ;; x ={v} x.11_3; (insn 20 19 0 (set (reg/v:QI 94 [ x ]) (reg:QI 87 [ x.11_3 ])) -1 (nil)) ;; Generating RTL for gimple basic block 5 ;; x.7_10 ={v} x; (insn 22 21 0 (set (reg:QI 90 [ x.7_10 ]) (reg/v:QI 94 [ x ])) t.C:18 -1 (nil)) ;; ivtmp_36 = ivtmp_22 + 18446744073709551615; (insn 23 22 0 (parallel [ (set (reg:DI 92 [ ivtmp_22 ]) (plus:DI (reg:DI 92 [ ivtmp_22 ]) (const_int -1 [0x]))) (clobber (reg:CC 17 flags)) ]) -1 (nil))
[Bug libstdc++/71788] is_trivially_copy_constructible gives false for types with user defined destructors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71788 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely --- Your non-trivial destructor means that is_trivially_xxx_constructible is false, because that trait is based on an expression that creates and destroys an object. That's by design, because simply asking whether the type *has* a trivial constructor doesn't actually help, in typical generic code you want to know if a particular operation is trivial.
[Bug target/71779] [5/6/7 regression] isl miscompiled with -mabi=ilp32
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71779 Andreas Schwab changed: What|Removed |Added CC||jgreenhalgh at gcc dot gnu.org --- Comment #1 from Andreas Schwab --- bf29c577b9128551d76adc5b0331d375be49d7d3 is the first bad commit commit bf29c577b9128551d76adc5b0331d375be49d7d3 Author: jgreenhalgh Date: Tue Apr 29 13:46:23 2014 + Remove PUSH_ARGS_REVERSED from the RTL expander. gcc/ * calls.c (initialize_argument_information): Always treat PUSH_ARGS_REVERSED as 1, simplify code accordingly. (expand_call): Likewise. (emit_library_call_calue_1): Likewise. * expr.c (PUSH_ARGS_REVERSED): Do not define. (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify code accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209897 138bc75d-0d04-0410-961f-82ee72b054a4
[Bug tree-optimization/71423] [5 Regression] wrong code at -Os and above on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71423 --- Comment #7 from Richard Biener --- Author: rguenth Date: Thu Jul 7 10:33:01 2016 New Revision: 238084 URL: https://gcc.gnu.org/viewcvs?rev=238084&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71522.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/match.pd branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa.c
[Bug tree-optimization/71452] [4.9/5 Regression] Wrong optimization of stores to _Bool via char*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71452 --- Comment #5 from Richard Biener --- Author: rguenth Date: Thu Jul 7 10:33:01 2016 New Revision: 238084 URL: https://gcc.gnu.org/viewcvs?rev=238084&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71522.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/match.pd branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa.c
[Bug tree-optimization/71522] [5 Regression] Wrong optimization of memcpy through a var of type long double
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71522 --- Comment #7 from Richard Biener --- Author: rguenth Date: Thu Jul 7 10:33:01 2016 New Revision: 238084 URL: https://gcc.gnu.org/viewcvs?rev=238084&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-06-07 Richard Biener PR middle-end/71423 * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison for signed ops. * gcc.dg/torture/pr71423.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float copying. * gcc.dg/torture/pr71522.c: New testcase. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71423.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr71522.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/match.pd branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa.c
[Bug tree-optimization/71423] [5 Regression] wrong code at -Os and above on x86_64-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71423 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail||5.4.0 --- Comment #8 from Richard Biener --- Fixed.
[Bug c++/71739] [6/7 Regression] ICE on valid C++11 code: tree check: expected identifier_node, have tree_list in private_is_attribute_p, at tree.c:6080
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71739 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Jakub Jelinek --- Fixed.
[Bug libstdc++/71794] New: Std::array as an incomplete type in nested name specifier.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71794 Bug ID: 71794 Summary: Std::array as an incomplete type in nested name specifier. Product: gcc Version: 6.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: p.bednarski at outlook dot com Target Milestone: --- Created attachment 38851 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38851&action=edit Code that won't compile on GCC. In code attached: MyContainer type works perfectly fine. std::vector works fine as well. Error message: $ g++-6 -Wall -Wextra -Wpedantic --std=c++14 main.cpp main.cpp: In instantiation of ‘T foo() [with T = std::array]’: main.cpp:39:31: required from here main.cpp:16:21: error: incomplete type ‘B >’ used in nested name specifier return B::bar(); ~^~
[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 #6 from Richard Biener --- So this is loop unswitching unswitching on a condition that is not always executed (i_48 != 0), it is guarded by e.3_30 != 0 (which is not invariant). It's not trivial to see the use of i_48 can be uninitialized and thus we have to error conservatively.
[Bug libgcc/71744] Concurrently throwing exceptions is not scalable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71744 --- Comment #9 from Jakub Jelinek --- Created attachment 38852 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38852&action=edit gcc7-pr71744.patch Untested patch for the old-style registry. But as long as glibc still takes a global lock it probably doesn't help that much.
[Bug middle-end/64516] [4.9/5/6 Regression] arm: wrong unaligned load generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64516 --- Comment #7 from Richard Biener --- Author: rguenth Date: Thu Jul 7 11:37:24 2016 New Revision: 238085 URL: https://gcc.gnu.org/viewcvs?rev=238085&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-06-13 Richard Biener PR middle-end/64516 * fold-const.c (fold_unary_loc): Preserve alignment when folding a VIEW_CONVERT_EXPR into a MEM_REF. * gcc.dg/align-3.c: New testcase. Added: branches/gcc-6-branch/gcc/testsuite/gcc.dg/align-3.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/fold-const.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug c++/71794] Std::array as an incomplete type in nested name specifier.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71794 --- Comment #2 from Jonathan Wakely --- If you fix your partial specialization it works with all compilers: template /* correct type */ struct B> { static std::array bar() { return std::array(); } };
[Bug c++/71794] Std::array as an incomplete type in nested name specifier.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71794 Jonathan Wakely changed: What|Removed |Added Component|libstdc++ |c++ --- Comment #1 from Jonathan Wakely --- This is nothing to do with libstdc++, the problem is that you've using int rather than std::size_t using size_t = decltype(sizeof(0)); template struct array { T data[N]; }; template struct MyContainer { T data[N]; }; template struct B; template T foo() { return B::bar(); } template struct B> { static array bar() { return array(); } }; template struct B> { static MyContainer bar() { return MyContainer(); } }; int main() { foo>(); // incomplete type foo>(); } foo> returns B> which doesn't match your partial specialization of B> Clang accepts this, but G++ and EDG reject it for the same reason.
[Bug ipa/71624] [6/7 regression][CHKP] internal compiler error: in duplicate_thunk_for_node
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71624 --- Comment #2 from Ilya Enkovich --- Author: ienkovich Date: Thu Jul 7 11:45:11 2016 New Revision: 238086 URL: https://gcc.gnu.org/viewcvs?rev=238086&root=gcc&view=rev Log: gcc/ PR ipa/71624 * ipa-inline-analysis.c (compute_inline_parameters): Set local.can_change_signature to false for intrumentation thunk callees. gcc/testsuite/ PR ipa/71624 * g++.dg/pr71624.C: New test. Added: trunk/gcc/testsuite/g++.dg/pr71624.C Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-inline-analysis.c trunk/gcc/testsuite/ChangeLog
[Bug c++/71784] [6/7 Regression] ICE on invalid code in push_access_scope, at cp/pt.c:229
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71784 Martin Liška changed: What|Removed |Added Keywords||ice-on-invalid-code Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 Summary|crash on on ref-qual's and |[6/7 Regression] ICE on |templates |invalid code in ||push_access_scope, at ||cp/pt.c:229 Ever confirmed|0 |1 --- Comment #7 from Martin Liška --- Minimal test-case: template class A { template A &&operator=(A &&)&; template A &&operator=(A &&)&&; } template A < int >&&A < int >::operator= ( A && Same as the origin, it's obviously an invalid code. g++ tc.cc tc.cc:4:1: error: expected ‘;’ after class definition } ^ tc.cc:5:46: error: expected ‘,’ or ‘...’ at end of input template A < int >&&A < int >::operator= ( A && ^~ tc.cc:5:46: error: expected ‘)’ at end of input tc.cc:5:46: internal compiler error: in push_access_scope, at cp/pt.c:228 0x844593 push_access_scope ../../gcc/cp/pt.c:227 0x8a30de fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool) ../../gcc/cp/pt.c:17920 0x8afed3 get_bindings ../../gcc/cp/pt.c:20730 0x8b02f3 more_specialized_inst ../../gcc/cp/pt.c:20828 0x8b0427 most_specialized_instantiation(tree_node*) ../../gcc/cp/pt.c:20868 0x851b48 determine_specialization ../../gcc/cp/pt.c:2326 0x8544a4 check_explicit_specialization(tree_node*, tree_node*, int, int) ../../gcc/cp/pt.c:2947 0x81aa67 grokfndecl ../../gcc/cp/decl.c:8228 0x824464 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) ../../gcc/cp/decl.c:11424 0x94c571 cp_parser_explicit_instantiation ../../gcc/cp/parser.c:15650 0x94692a cp_parser_declaration ../../gcc/cp/parser.c:12100 0x946671 cp_parser_declaration_seq_opt ../../gcc/cp/parser.c:12027 0x9366da cp_parser_translation_unit ../../gcc/cp/parser.c:4329 0x983965 c_parse_file() ../../gcc/cp/parser.c:37491 0xb267a2 c_common_parse_file() ../../gcc/c-family/c-opts.c:1070
[Bug middle-end/70022] [4.9 Regression] ICE: in tree_to_shwi, at tree.c:7328 with out-of-bounds vector index
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70022 --- Comment #7 from Richard Biener --- Author: rguenth Date: Thu Jul 7 11:46:08 2016 New Revision: 238087 URL: https://gcc.gnu.org/viewcvs?rev=238087&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-04-04 Richard Biener PR rtl-optimization/70484 * rtl.h (canon_output_dependence): Declare. * alias.c (canon_output_dependence): New function. * dse.c (record_store): Use canon_output_dependence rather than canon_true_dependence. * gcc.dg/torture/pr70484.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-05-06 Richard Biener PR middle-end/70931 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. * gfortran.dg/pr70931.f90: New testcase. 2016-03-01 Richard Biener PR middle-end/70022 * fold-const.c (fold_indirect_ref_1): Fix range checking for vector BIT_FIELD_REF extract. * gcc.dg/pr70022.c: New testcase. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr70022.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr70484.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr70931.f90 Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/alias.c branches/gcc-4_9-branch/gcc/dse.c branches/gcc-4_9-branch/gcc/dwarf2out.c branches/gcc-4_9-branch/gcc/fold-const.c branches/gcc-4_9-branch/gcc/rtl.h branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa.c
[Bug middle-end/70022] [4.9 Regression] ICE: in tree_to_shwi, at tree.c:7328 with out-of-bounds vector index
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70022 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail|4.9.4 |4.9.3 --- Comment #6 from Richard Biener --- Fixed.
[Bug tree-optimization/71452] [4.9/5 Regression] Wrong optimization of stores to _Bool via char*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71452 --- Comment #6 from Richard Biener --- Author: rguenth Date: Thu Jul 7 11:46:08 2016 New Revision: 238087 URL: https://gcc.gnu.org/viewcvs?rev=238087&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-04-04 Richard Biener PR rtl-optimization/70484 * rtl.h (canon_output_dependence): Declare. * alias.c (canon_output_dependence): New function. * dse.c (record_store): Use canon_output_dependence rather than canon_true_dependence. * gcc.dg/torture/pr70484.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-05-06 Richard Biener PR middle-end/70931 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. * gfortran.dg/pr70931.f90: New testcase. 2016-03-01 Richard Biener PR middle-end/70022 * fold-const.c (fold_indirect_ref_1): Fix range checking for vector BIT_FIELD_REF extract. * gcc.dg/pr70022.c: New testcase. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr70022.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr70484.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr70931.f90 Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/alias.c branches/gcc-4_9-branch/gcc/dse.c branches/gcc-4_9-branch/gcc/dwarf2out.c branches/gcc-4_9-branch/gcc/fold-const.c branches/gcc-4_9-branch/gcc/rtl.h branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa.c
[Bug fortran/70931] [4.9 Regression] ICE with -g in native_encode_initializer, bei dwarf2out.c:17768
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70931 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Richard Biener --- Fixed.
[Bug rtl-optimization/70484] [4.9 Regression] Wrong optimization with aliasing and access via char
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70484 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail||4.9.3 --- Comment #9 from Richard Biener --- Fixed.
[Bug fortran/70931] [4.9 Regression] ICE with -g in native_encode_initializer, bei dwarf2out.c:17768
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70931 --- Comment #9 from Richard Biener --- Author: rguenth Date: Thu Jul 7 11:46:08 2016 New Revision: 238087 URL: https://gcc.gnu.org/viewcvs?rev=238087&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-04-04 Richard Biener PR rtl-optimization/70484 * rtl.h (canon_output_dependence): Declare. * alias.c (canon_output_dependence): New function. * dse.c (record_store): Use canon_output_dependence rather than canon_true_dependence. * gcc.dg/torture/pr70484.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-05-06 Richard Biener PR middle-end/70931 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. * gfortran.dg/pr70931.f90: New testcase. 2016-03-01 Richard Biener PR middle-end/70022 * fold-const.c (fold_indirect_ref_1): Fix range checking for vector BIT_FIELD_REF extract. * gcc.dg/pr70022.c: New testcase. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr70022.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr70484.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr70931.f90 Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/alias.c branches/gcc-4_9-branch/gcc/dse.c branches/gcc-4_9-branch/gcc/dwarf2out.c branches/gcc-4_9-branch/gcc/fold-const.c branches/gcc-4_9-branch/gcc/rtl.h branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa.c
[Bug rtl-optimization/70484] [4.9 Regression] Wrong optimization with aliasing and access via char
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70484 --- Comment #8 from Richard Biener --- Author: rguenth Date: Thu Jul 7 11:46:08 2016 New Revision: 238087 URL: https://gcc.gnu.org/viewcvs?rev=238087&root=gcc&view=rev Log: 2016-07-07 Richard Biener Backport from mainline 2016-04-04 Richard Biener PR rtl-optimization/70484 * rtl.h (canon_output_dependence): Declare. * alias.c (canon_output_dependence): New function. * dse.c (record_store): Use canon_output_dependence rather than canon_true_dependence. * gcc.dg/torture/pr70484.c: New testcase. 2016-06-08 Richard Biener PR tree-optimization/71452 * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the type used for the SSA rewrite has enough precision to cover the dynamic type of the location. * gcc.dg/torture/pr71452.c: New testcase. 2016-05-06 Richard Biener PR middle-end/70931 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields. * gfortran.dg/pr70931.f90: New testcase. 2016-03-01 Richard Biener PR middle-end/70022 * fold-const.c (fold_indirect_ref_1): Fix range checking for vector BIT_FIELD_REF extract. * gcc.dg/pr70022.c: New testcase. Added: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/torture/pr71452.C branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr70022.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr70484.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr71452.c branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/pr70931.f90 Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/alias.c branches/gcc-4_9-branch/gcc/dse.c branches/gcc-4_9-branch/gcc/dwarf2out.c branches/gcc-4_9-branch/gcc/fold-const.c branches/gcc-4_9-branch/gcc/rtl.h branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa.c
[Bug tree-optimization/71522] [5 Regression] Wrong optimization of memcpy through a var of type long double
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71522 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Known to fail|5.1.0 |5.4.0 --- Comment #8 from Richard Biener --- Fixed.
[Bug tree-optimization/71452] [4.9/5 Regression] Wrong optimization of stores to _Bool via char*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71452 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||5.4.1 Resolution|--- |FIXED Known to fail||4.9.3, 5.4.0 --- Comment #7 from Richard Biener --- Fixed.
[Bug c++/71794] Std::array as an incomplete type in nested name specifier.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71794 --- Comment #3 from Jonathan Wakely --- VC++ accepts it too, so it's two for and two against. Reduced: template struct X { }; template struct Y; template struct Y> { }; template Y f() { return {}; } auto x = f< X<1> >();
[Bug ada/70867] [6 regression] access discriminant in return aggregate wrongly detected as dangling
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70867 Richard Biener changed: What|Removed |Added Priority|P3 |P4
[Bug fortran/71795] New: Two Bugs in array constructors (optimization)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71795 Bug ID: 71795 Summary: Two Bugs in array constructors (optimization) Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: critical Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: c.friedr...@fz-juelich.de Target Milestone: --- 1st bug: There is a problem with array constructors and optimization in gfortran 4.9.1 in the following code: -- program test implicit none integer :: i,n # ifdef BUG integer, allocatable :: a(:) allocate ( a(1) ) # else integer :: a(1) # endif n = 1 a = 2 write(*,*) (any(a(i).eq.(/1,2,3/)) ,i=1,n) write(*,*) (/ (any(a(i).eq.(/1,2,3/)) ,i=1,n) /) write(*,*) any ( (/ (any(a(i).eq.(/1,2,3/)) ,i=1,n) /) ) end --- The result should obviously read T T T. However, I also get the incorrect result T F F: gfortran -O0 -cpp test.f --> correct gfortran -O1 -cpp test.f --> correct gfortran -O2 -cpp test.f --> correct gfortran -O3 -cpp test.f --> correct gfortran -O0 -cpp -DBUG test.f --> correct gfortran -O1 -cpp -DBUG test.f --> incorrect gfortran -O2 -cpp -DBUG test.f --> incorrect gfortran -O3 -cpp -DBUG test.f --> incorrect 2nd bug: A similar problem appears in -- program test implicit none integer :: i,j,n real(8) :: arr(1,1,3) real(8) :: d(3) arr = 1d0 n = 1 d = (/ ( sum ( (/ (arr(j,j,i), j=1,1) /) ) , i=1,3 ) /) / n !!! write(*,*) d end -- It runs correctly without optimization, but with optimization (all levels) it gives Infinity Infinity Infinity Without "/ n" at "!!!" it runs correctly with optimizations, too. Thank you! Christoph --- BTW, this is the output of "gcc -v": Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux Thread model: posix gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)
[Bug c++/71794] Std::array as an incomplete type in nested name specifier.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71794 Pawel Bednarski changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #4 from Pawel Bednarski --- That's right Jonathan, thanks!
[Bug c/71787] #pragma GCC diagnostic unexpectedly terminates a statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71787 --- Comment #2 from Gary Funck --- Manuel, thanks for the quick follow up.
[Bug c++/70336] [5 regression] Incorrect Wconversion warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70336 --- Comment #14 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:33:10 2016 New Revision: 238090 URL: https://gcc.gnu.org/viewcvs?rev=238090&root=gcc&view=rev Log: Backported from mainline 2016-04-05 Jakub Jelinek PR c++/70336 * match.pd (nested int casts): Limit to GIMPLE. * c-c++-common/pr70336.c: New test. * gcc.dg/torture/builtin-isinf_sign-1.c (foo): Guard tests no longer optimized away at -O0 with #ifndef __OPTIMIZE__. Added: branches/gcc-5-branch/gcc/testsuite/c-c++-common/pr70336.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/match.pd branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/builtin-isinf_sign-1.c
[Bug fortran/71795] [4.9/5/6/7 Regression] Two Bugs in array constructors (optimization)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71795 Martin Liška changed: What|Removed |Added Keywords||wrong-code Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-07 CC||marxin at gcc dot gnu.org Target Milestone|--- |4.9.4 Summary|Two Bugs in array |[4.9/5/6/7 Regression] Two |constructors (optimization) |Bugs in array constructors ||(optimization) Ever confirmed|0 |1 --- Comment #1 from Martin Liška --- Confirmed, started with GCC 4.9.0.
[Bug target/70574] [5 Regression] wrong code with -mavx2, read of partially initialised stack variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70574 --- Comment #6 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:34:07 2016 New Revision: 238091 URL: https://gcc.gnu.org/viewcvs?rev=238091&root=gcc&view=rev Log: Backported from mainline 2016-04-08 Jakub Jelinek PR rtl-optimization/70574 * fwprop.c (forward_propagate_and_simplify): Don't add REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg. (try_fwprop_subst): Don't add REG_EQUAL note if there are any paradoxical subregs within *loc. * gcc.target/i386/avx2-pr70574.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/avx2-pr70574.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/fwprop.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug fortran/71796] New: Link error referencing compiler generated symbol __vtab_xxx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71796 Bug ID: 71796 Summary: Link error referencing compiler generated symbol __vtab_xxx Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: ian_harvey at bigpond dot com Target Milestone: --- Created attachment 38853 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38853&action=edit Reduced test case program exhibiting the link error With recent trunk (r238061) The attached program fails to link with undefined references to `__vtab_ma_Ta.3481`, which appears to be an internally generated symbol related to the compiler's support for polymorphism. The error disappears if the order of the USE statements is changed in one of the scopes as indicated in the test case. USE statement ordering in a scope is not supposed to affect source semantics. $ gfortran -v vtab-link-error.f90 Driving: gfortran -v vtab-link-error.f90 -l gfortran -l m -shared-libgcc Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: .././src/configure --prefix=/home/MEGMS2/ian/usr/gcc-7.0.0 --enable-languages=c,c++,fortran --enable-libgomp --enable-checking=release : (reconfigured) .././src/configure --prefix=/home/MEGMS2/ian/usr/gcc-7.0.0 --enable-libgomp --enable-checking=release --enable-languages=c,c++,fortran,lto --no-create --no-recursion Thread model: posix gcc version 7.0.0 20160706 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/f951 vtab-link-error.f90 -quiet -dumpbase vtab-link-error.f90 -mtune=generic -march=x86-64 -auxbase vtab-link-error -version -fintrinsic-modules-path /home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/finclude -o /tmp/cca44wnw.s GNU Fortran (GCC) version 7.0.0 20160706 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 7.0.0 20160706 (experimental), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU Fortran2008 (GCC) version 7.0.0 20160706 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 7.0.0 20160706 (experimental), GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v --64 -o /tmp/ccnjfNd7.o /tmp/cca44wnw.s GNU assembler version 2.26 (x86_64-redhat-linux) using BFD version version 2.26.20160125 Reading specs from /home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/../../../../lib64/libgfortran.spec rename spec lib to liborig COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' COMPILER_PATH=/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/:/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/:/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/:/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/:/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/ LIBRARY_PATH=/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/:/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/collect2 -plugin /home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/liblto_plugin.so -plugin-opt=/home/MEGMS2/ian/usr/gcc-7.0.0/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1JOD5H.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lquadmath -plugin-opt=-pass-through=-lm -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /lib/../lib64/crt1.o /lib/../lib64/crti.o /home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/crtbegin.o -L/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0 -L/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/MEGMS2/ian/usr/gcc-7.0.0/lib/gcc/x86_64-pc-linux-gnu/7.0.0/../../.. /tmp/ccnjfNd7.o -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/MEGMS2/ian/usr/gc
[Bug debug/70628] [5 regression] ICE in get_reg_rtx, at emit-rtl.c:1025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70628 --- Comment #14 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:39:40 2016 New Revision: 238092 URL: https://gcc.gnu.org/viewcvs?rev=238092&root=gcc&view=rev Log: Backported from mainline 2016-04-13 Jakub Jelinek PR debug/70628 * explow.c (convert_memory_address_addr_space_1): Formatting fix. PR debug/70628 * rtl.h (convert_memory_address_addr_space_1): New prototype. * explow.c (convert_memory_address_addr_space_1): No longer static, add NO_EMIT argument and don't call convert_modes if true, pass it down recursively, remove break after return. (convert_memory_address_addr_space): Adjust caller. * simplify-rtx.c (simplify_unary_operation_1): Call convert_memory_address_addr_space_1 instead of convert_memory_address, if it returns NULL, don't simplify. * gcc.dg/torture/pr70628.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr70628.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/explow.c branches/gcc-5-branch/gcc/rtl.h branches/gcc-5-branch/gcc/simplify-rtx.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug target/70633] [5 Regression] ICE on valid code at -Os (in 32-bit mode) on x86_64-linux-gnu: output_operand: invalid expression as operand
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70633 --- Comment #8 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:40:43 2016 New Revision: 238093 URL: https://gcc.gnu.org/viewcvs?rev=238093&root=gcc&view=rev Log: Backported from mainline 2016-04-13 Jakub Jelinek PR middle-end/70633 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if gimplification turns some element into non-constant. * gcc.c-torture/compile/pr70633.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/compile/pr70633.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/gimplify.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug c++/70641] [5 Regression] ICE on valid code at -O1 and above on x86_64-linux-gnu: verify_gimple failed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70641 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:41:25 2016 New Revision: 238094 URL: https://gcc.gnu.org/viewcvs?rev=238094&root=gcc&view=rev Log: Backported from mainline 2016-04-13 Jakub Jelinek PR c++/70641 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt on all recursive call stmts. Return TODO_cleanup_cfg if any dead eh edges have been purged. * g++.dg/opt/pr70641.C: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/opt/pr70641.C Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/ipa-pure-const.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug sanitizer/71498] ubsan bounds checking influenced by surrounding code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71498 --- Comment #8 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:42:43 2016 New Revision: 238095 URL: https://gcc.gnu.org/viewcvs?rev=238095&root=gcc&view=rev Log: Backported from mainline 2016-06-13 Jakub Jelinek PR sanitizer/71498 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY. * c-c++-common/ubsan/bounds-13.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/c-c++-common/ubsan/bounds-13.c Modified: branches/gcc-5-branch/gcc/c-family/ChangeLog branches/gcc-5-branch/gcc/c-family/c-gimplify.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug middle-end/71494] [4.9/5 Regression] label as value in nested function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71494 --- Comment #6 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:43:50 2016 New Revision: 238096 URL: https://gcc.gnu.org/viewcvs?rev=238096&root=gcc&view=rev Log: Backported from mainline 2016-06-10 Jakub Jelinek PR middle-end/71494 * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO without LABEL_DECL, set *handled_ops_p to false instead of true. * gcc.c-torture/execute/pr71494.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr71494.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-nested.c
[Bug c++/71516] [5 Regression] ICE on invalid C++ code (invalid use of forward declared type) on x86_64-linux-gnu: Segmentation fault (program cc1plus)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71516 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:44:33 2016 New Revision: 238097 URL: https://gcc.gnu.org/viewcvs?rev=238097&root=gcc&view=rev Log: Backported from mainline 2016-06-14 Jakub Jelinek PR c++/71516 * decl.c (complete_vars): Handle gracefully type == error_mark_node. * g++.dg/init/pr71516.C: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/init/pr71516.C Modified: branches/gcc-5-branch/gcc/cp/ChangeLog branches/gcc-5-branch/gcc/cp/decl.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug c++/71528] [5 Regression] multiple extern reference declarations produce uninitialized access
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71528 --- Comment #8 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:45:44 2016 New Revision: 238098 URL: https://gcc.gnu.org/viewcvs?rev=238098&root=gcc&view=rev Log: Backported from mainline 2016-06-14 Jakub Jelinek PR c++/71528 * decl.c (duplicate_decls): For DECL_INITIALIZED_P non-external olddecl vars, preserve their TREE_READONLY bit. * g++.dg/opt/pr71528.C: New test. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/opt/pr71528.C Modified: branches/gcc-5-branch/gcc/cp/ChangeLog branches/gcc-5-branch/gcc/cp/decl.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug middle-end/71581] [5 Regression] ICE on valid code on x86_64-linux-gnu with -Wuninitialized (Segmentation fault)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71581 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:46:33 2016 New Revision: 238099 URL: https://gcc.gnu.org/viewcvs?rev=238099&root=gcc&view=rev Log: Backported from mainline 2016-06-20 Jakub Jelinek PR middle-end/71581 * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL, see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created for conversion of scalar user var to complex type and use the underlying SSA_NAME_VAR in that case. If EXPR is still NULL, punt. * gcc.dg/pr71581.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr71581.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa-uninit.c
[Bug tree-optimization/71588] [4.9/5 Regression] ICE on valid code at -O2 and -O3 on x86_64-linux-gnu: in execute_todo, at passes.c:2009
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71588 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:47:20 2016 New Revision: 238100 URL: https://gcc.gnu.org/viewcvs?rev=238100&root=gcc&view=rev Log: Backported from mainline 2016-06-21 Jakub Jelinek PR tree-optimization/71588 * tree-ssa-strlen.c (valid_builtin_call): New function. (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use it. * gcc.dg/pr71558.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr71558.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/tree-ssa-strlen.c
[Bug fortran/71705] [4.9/5 Regression] ICE in lower_omp_target, at omp-low.c:16136
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71705 --- Comment #6 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:49:04 2016 New Revision: 238102 URL: https://gcc.gnu.org/viewcvs?rev=238102&root=gcc&view=rev Log: Backported from mainline 2016-06-30 Jakub Jelinek PR fortran/71705 * trans-openmp.c (gfc_trans_omp_clauses): Set TREE_ADDRESSABLE on decls in to/from clauses. * gfortran.dg/gomp/pr71705.f90: New test. Added: branches/gcc-5-branch/gcc/testsuite/gfortran.dg/gomp/pr71705.f90 Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/trans-openmp.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug middle-end/71626] [4.9/5/6 regression] ICE at -O1 and above on x86_64-linux-gnu (in output_constant_pool_2, at varasm.c:3837)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71626 --- Comment #7 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:48:16 2016 New Revision: 238101 URL: https://gcc.gnu.org/viewcvs?rev=238101&root=gcc&view=rev Log: Backported from mainline 2016-06-28 Jakub Jelinek PR middle-end/71626 * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of a constant, force its SUBREG_REG into memory or register instead of whole op1. * gcc.c-torture/execute/pr71626-1.c: New test. * gcc.c-torture/execute/pr71626-2.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr71626-1.c branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr71626-2.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/config/i386/i386.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug fortran/71704] ICE with -fopenmp and some omp constructs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:50:01 2016 New Revision: 238103 URL: https://gcc.gnu.org/viewcvs?rev=238103&root=gcc&view=rev Log: Backported from mainline 2016-06-30 Jakub Jelinek PR fortran/71704 * parse.c (matchs, matcho): Move right before decode_omp_directive. If spec_only, only gfc_match the keyword and if successful, goto do_spec_only. (matchds, matchdo): Define. (decode_omp_directive): Add spec_only local var and set it. Use matchds or matchdo macros instead of matchs or matcho for declare target, declare simd, declare reduction and threadprivate directives. Return ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be matched. (next_statement): For ST_GET_FCN_CHARACTERISTICS restore gfc_current_locus from old_locus even if there is no label. * gfortran.dg/gomp/pr71704.f90: New test. Added: branches/gcc-5-branch/gcc/testsuite/gfortran.dg/gomp/pr71704.f90 Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/parse.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug fortran/71717] A gfortran silent "wrong code" bug in the transition from 4.9.0 -> 4.9.1, using OpenMP.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71717 --- Comment #4 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:51:01 2016 New Revision: 238104 URL: https://gcc.gnu.org/viewcvs?rev=238104&root=gcc&view=rev Log: Backported from mainline 2016-07-01 Jakub Jelinek PR fortran/71717 * trans-openmp.c (gfc_omp_privatize_by_reference): Return false for GFC_DECL_ASSOCIATE_VAR_P with POINTER_TYPE. * testsuite/libgomp.fortran/associate3.f90: New test. Added: branches/gcc-5-branch/libgomp/testsuite/libgomp.fortran/associate3.f90 Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/trans-openmp.c branches/gcc-5-branch/libgomp/ChangeLog
[Bug c/68062] [4.9 Regression] ICE when comparing vectors
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68062 --- Comment #20 from Jakub Jelinek --- Author: jakub Date: Thu Jul 7 12:59:39 2016 New Revision: 238108 URL: https://gcc.gnu.org/viewcvs?rev=238108&root=gcc&view=rev Log: Backported from mainline 2016-03-02 Jakub Jelinek PR c/68062 * c-c++-common/vector-compare-4.c: Add -Wno-psabi to dg-options. Modified: branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/testsuite/c-c++-common/vector-compare-4.c
[Bug c++/71797] New: Spurious unused-variable warning with inline function and unrelated error
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71797 Bug ID: 71797 Summary: Spurious unused-variable warning with inline function and unrelated error Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: r at queiro dot co.uk Target Milestone: --- Created attachment 38854 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38854&action=edit test case The unused-variable warning is only produced when another error is present and FOO_CONSTANT is initialized with an inline function. Otherwise, no warning is generated. Tested with g++ 4.8.4 and 4.9.3. ~ g++ -Wall foo.cc In file included from foo.cc:2:0: foo.h: In constructor ‘Foo::Foo()’: foo.h:8:13: error: ‘create_a_compile_error’ was not declared in this scope Foo() { create_a_compile_error; }; ^ foo.h: At global scope: foo.h:5:16: warning: ‘FOO_CONSTANT’ defined but not used [-Wunused-variable] const unsigned FOO_CONSTANT = f(4); ^ ~ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ~ cat foo.ii # 1 "foo.cc" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "foo.cc" static inline unsigned f(unsigned x) { return x; } const unsigned FOO_CONSTANT = f(4); class Foo { Foo() { create_a_compile_error; }; };
[Bug c++/70336] [5 regression] Incorrect Wconversion warning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70336 Jakub Jelinek changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #15 from Jakub Jelinek --- Fixed.
[Bug target/70574] [5 Regression] wrong code with -mavx2, read of partially initialised stack variable
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70574 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Jakub Jelinek --- Fixed.