[Bug fortran/78935] [7 Regression] ICE on allocating derived type coarray with allocatable components
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78935 --- Comment #6 from Damian Rouson --- Workaround (4) was supposed to be "when both allocations are moved into the main program."
[Bug c++/78890] [5/6/7 Regression] ICE on invalid reference type in union
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78890 TC changed: What|Removed |Added CC||rs2740 at gmail dot com --- Comment #3 from TC --- [class.union]/3 in the current WP (/2 in N3337/N4140) says (among other things): If a union contains a non-static data member of reference type the program is ill-formed.
[Bug rtl-optimization/78952] Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78952 Uroš Bizjak changed: What|Removed |Added CC||segher at gcc dot gnu.org --- Comment #1 from Uroš Bizjak --- Add CC.
[Bug demangler/78944] null pointer in demangler
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78944 --- Comment #1 from Ivan Sorokin --- In addition to the reported crash on _Z3fooAv32pM, there are two other seeming unrelated crashes: _Z1f7729646840 and _Z1fDpDF02s4o.
[Bug target/78953] Errors in compiling Spec 2006 for power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78953 Michael Meissner changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2016-12-29 CC||dje at gcc dot gnu.org, ||segher at gcc dot gnu.org, ||wschmidt at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |meissner at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Michael Meissner --- A quick glance at the code, shows that the V4SImode register is a traditional floating point register, but the splitter for vsx_extract__p9 requires the register to be a traditional altivec register. I suspect vsx_extract_v4si_p9 is called from vsx_extract_si. The later has a constraint (wJ) that allows the operand to go in traditional floating registers in addition to Altivec registers (v).
[Bug target/78953] New: Errors in compiling Spec 2006 for power9
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78953 Bug ID: 78953 Summary: Errors in compiling Spec 2006 for power9 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: meissner at gcc dot gnu.org Target Milestone: --- Two of the spec 2006 benchmarks (gamess and calculix) get errors when compiled by recent trunk compilers with -mcpu=power9: Error in gamess: Error: insn does not satisfy its constraints: (insn 8520 8519 8521 96 (parallel [ (set (reg:SI 4 4 [4221]) (vec_select:SI (reg:V4SI 43 11 [orig:586 vect__86.1681 ] [586]) (parallel [ (const_int 1 [0x1]) ]))) (clobber (reg:SI 29 29 [4222])) ]) "loccd.fppized.f":379 1184 {vsx_extract_v4si_p9} (expr_list:REG_UNUSED (reg:SI 29 29 [4222]) (nil))) loccd.fppized.f:564:0: internal compiler error: in extract_constrain_insn, at recog.c:2213 Error in calculix: SPOOLES/MSMD/src/MSMD_init.c: In function 'MSMD_init': SPOOLES/MSMD/src/MSMD_init.c:161:1: error: insn does not satisfy its constraints: return ; } ^~ (insn 2674 2673 2675 37 (parallel [ (set (reg:SI 0 0 [985]) (vec_select:SI (reg:V4SI 32 0 [orig:378 vect__50.42 ] [378]) (parallel [ (const_int 1 [0x1]) ]))) (clobber (reg:SI 31 31 [986])) ]) "SPOOLES/MSMD/src/MSMD_init.c":113 1184 {vsx_extract_v4si_p9} (expr_list:REG_UNUSED (reg:SI 31 31 [986]) (nil)))
[Bug rtl-optimization/78952] New: Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78952 Bug ID: 78952 Summary: Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com Target Milestone: --- Following testcase: --cut here-- struct S1 { char pad1; char val; short pad2; }; struct S1 test_add (struct S1 a, struct S1 b) { a.val += b.val; return a; } --cut here-- genereates unoptimal code on x86_64, since combine doesn't convert sign-extract in Trying 7, 9 -> 10: Failed to match this instruction: (set (zero_extract:SI (reg/v:SI 95 [ a ]) (const_int 8 [0x8]) (const_int 8 [0x8])) (subreg:SI (plus:QI (subreg:QI (sign_extract:SI (reg/v:SI 95 [ a ]) (const_int 8 [0x8]) (const_int 8 [0x8])) 0) (reg:QI 98)) 0)) to a zero-extract, as is the case in a similar testcase: --cut here-- typedef __SIZE_TYPE__ size_t; struct S1 { char pad1; char val; short pad2; }; extern char t[256]; void foo (struct S1 a, size_t i) { t[i] = a.val; } --cut here-- where: (insn 8 4 9 2 (set (reg:SI 91) (sign_extract:SI (reg/v:SI 88 [ a ]) (const_int 8 [0x8]) (const_int 8 [0x8]))) "pr78904-6.c":18 102 {*extvsi} (expr_list:REG_DEAD (reg/v:SI 88 [ a ]) (nil))) (insn 9 8 0 2 (set (mem/j:QI (plus:DI (reg/v:DI 89 [ i ]) (symbol_ref:DI ("t") [flags 0x40] )) [0 t S1 A8]) (subreg:QI (reg:SI 91) 0)) "pr78904-6.c":18 84 {*movqi_internal} (expr_list:REG_DEAD (reg:SI 91) (expr_list:REG_DEAD (reg/v:DI 89 [ i ]) (nil gets simplified to: Trying 8 -> 9: Successfully matched this instruction: (set (mem/j:QI (plus:DI (reg/v:DI 89 [ i ]) (symbol_ref:DI ("t") [flags 0x40] )) [0 t S1 A8]) (subreg:QI (zero_extract:SI (reg/v:SI 88 [ a ]) (const_int 8 [0x8]) (const_int 8 [0x8])) 0)) Please note that in both cases, we have QImode operation with 8-bit (QImode) extracted value. Sign-extracts to a QImode value are nonsensical in both cases, but only in the former case are converted to a zero-extract.
[Bug target/71977] powerpc64: Use VSR when operating on float and integer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71977 --- Comment #3 from Michael Meissner --- Created attachment 40431 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40431=edit Proposed patch to fix the problem
[Bug tree-optimization/70754] [5/6/7 Regression] ICE during predictive commoning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70754 Michael Meissner changed: What|Removed |Added Attachment #40429|0 |1 is obsolete|| --- Comment #7 from Michael Meissner --- Created attachment 40430 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40430=edit patch attached to the wrong bug.
[Bug tree-optimization/70754] [5/6/7 Regression] ICE during predictive commoning
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70754 Michael Meissner changed: What|Removed |Added CC||meissner at gcc dot gnu.org --- Comment #6 from Michael Meissner --- Created attachment 40429 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40429=edit Proposed patch to fix the problem
[Bug target/71977] powerpc64: Use VSR when operating on float and integer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71977 Michael Meissner changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2016-12-29 Assignee|unassigned at gcc dot gnu.org |meissner at gcc dot gnu.org Ever confirmed|0 |1
[Bug target/78904] zero-extracts are not effective
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78904 --- Comment #14 from uros at gcc dot gnu.org --- Author: uros Date: Thu Dec 29 21:41:07 2016 New Revision: 243968 URL: https://gcc.gnu.org/viewcvs?rev=243968=gcc=rev Log: PR target/78904 * config/i386/i386.md (*extvqi): Remove insn pattern. (divmodqi4): Update expander to generate QImode zero-extract from AH. testsuite/ChangeLog: PR target/78904 * gcc.target/i386/pr78904-6.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr78904-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md trunk/gcc/testsuite/ChangeLog
[Bug fortran/78935] [7 Regression] ICE on allocating derived type coarray with allocatable components
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78935 --- Comment #5 from Dominique d'Humieres --- > Please try again with the patch in: > > https://gcc.gnu.org/ml/fortran/2016-12/msg00314.html > > applied. On my system I see no issue anymore. Same thing here (darwin).
[Bug fortran/78935] [7 Regression] ICE on allocating derived type coarray with allocatable components
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78935 vehre at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4 Status|NEW |WAITING Assignee|unassigned at gcc dot gnu.org |vehre at gcc dot gnu.org --- Comment #4 from vehre at gcc dot gnu.org --- Please try again with the patch in: https://gcc.gnu.org/ml/fortran/2016-12/msg00314.html applied. On my system I see no issue anymore.
[Bug c++/70385] Lambda capture by reference of const reference fails
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70385 Nathan Sidwell changed: What|Removed |Added Status|NEW |RESOLVED CC||nathan at gcc dot gnu.org Resolution|--- |DUPLICATE --- Comment #3 from Nathan Sidwell --- Same as 66735, to which I have attached a simpler testcase *** This bug has been marked as a duplicate of bug 66735 ***
[Bug c++/66735] [C++14] lambda init-capture fails for const references
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66735 Nathan Sidwell changed: What|Removed |Added CC||nikb at bougalis dot net --- Comment #5 from Nathan Sidwell --- *** Bug 70385 has been marked as a duplicate of this bug. ***
[Bug c++/54367] [meta-bug] lambda expressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54367 Bug 54367 depends on bug 70385, which changed state. Bug 70385 Summary: Lambda capture by reference of const reference fails https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70385 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |DUPLICATE
[Bug c++/66735] [C++14] lambda init-capture fails for const references
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66735 Nathan Sidwell changed: What|Removed |Added Status|NEW |ASSIGNED CC||nathan at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |nathan at gcc dot gnu.org --- Comment #4 from Nathan Sidwell --- int const x = 5; void Foo () { auto l = [ = x]() {}; }
[Bug c++/78951] New: Attributes allowed in an incorrect position
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78951 Bug ID: 78951 Summary: Attributes allowed in an incorrect position Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: aaron.ballman+gcc at gmail dot com Target Milestone: --- [dcl.type] specifies in what positions an attribute-specifier-seq may appear within a type-specifier-seq, which is only at the end of the sequence. GCC silently accepts attributes in an incorrect position within a type-specifier-seq. volatile int *ip = new volatile [[]] int [[]]; The first [[]]] should be diagnosed, the second [[]]] is acceptable.
[Bug c++/78949] incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 --- Comment #5 from Jakub Jelinek --- Created attachment 40428 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40428=edit gcc7-pr78949.patch Untested fix.
[Bug c++/78949] incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #4 from Martin Liška --- Started with GCC 4.6.0.
[Bug c++/78949] incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2016-12-29 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Jakub Jelinek --- Ah, you're right, I've been trying just C. Will have a look.
[Bug c++/78949] incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 prathamesh3492 at gcc dot gnu.org changed: What|Removed |Added CC||prathamesh3492 at gcc dot gnu.org --- Comment #2 from prathamesh3492 at gcc dot gnu.org --- Hi, I am able to reproduce with r243961. ../stage1-build/gcc/cc1plus -Wunused 78949.c void f() 78949.c:6:10: warning: variable ‘x’ set but not used [-Wunused-but-set-variable] xmmb_t x = { }; However not reproducible with cc1. Thanks, Prathamesh
[Bug c++/77482] [6 Regression] Segfault when compiling ill-formed constexpr code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77482 Jakub Jelinek changed: What|Removed |Added CC||yannick at tedworld dot de --- Comment #8 from Jakub Jelinek --- *** Bug 78950 has been marked as a duplicate of this bug. ***
[Bug c++/78950] "confused by earlier errors, bailing out" without previous errors, when having duplicate constexpr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78950 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jakub at gcc dot gnu.org Resolution|--- |DUPLICATE --- Comment #1 from Jakub Jelinek --- Can't reproduce with 6.3, most likely dup of PR77482. *** This bug has been marked as a duplicate of bug 77482 ***
[Bug c++/78949] incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek --- Can't reproduce, neither with r235033 (before 6.x branchpoint), nor with current 6.3, nor current trunk.
[Bug c++/78950] New: "confused by earlier errors, bailing out" without previous errors, when having duplicate constexpr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78950 Bug ID: 78950 Summary: "confused by earlier errors, bailing out" without previous errors, when having duplicate constexpr Product: gcc Version: 6.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: yannick at tedworld dot de Target Milestone: --- When having a duplicate constexpr no error message other than "confused by earlier errors, bailing out" gets displayed. Simple example: $ cat dupconstexpr.cpp constexpr int test = 1; constexpr int test = 1; $ g++ dupconstexpr.cpp ‘ dupconstexpr.cpp:2: confused by earlier errors, bailing out
[Bug fortran/78892] [7.0 Regression] no type conversion before coarray put
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78892 vehre at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4 Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID Assignee|unassigned at gcc dot gnu.org |vehre at gcc dot gnu.org --- Comment #1 from vehre at gcc dot gnu.org --- This bug is invalid, because the responsibility for the type conversion has been moved to the library. This allows for choosing the smallest datatype needed for transfering data between images. Since r211993 code for doing the conversion in the library is in libgfortran/caf/single.c. Opencoarrays seems to lack the support there. Opencoarrays works with older versions of gcc, because for scalars the compiler is doing a type cast. But this of course prevents minimizing the footprint of data to transfer. IMO this should be fixed in Opencoarrays. The routines for the type conversion are already present, because the new _by_ref communication functions already make use of them. Only the old caf_get(), caf_send(), and caf_sendget() need to be extended.
[Bug c/78933] [7 Regression] ICE: in decode_cmdline_option, at opts-common.c:671 with -fno-strong-eval-order
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78933 --- Comment #4 from Martin Liška --- Author: marxin Date: Thu Dec 29 10:35:33 2016 New Revision: 243960 URL: https://gcc.gnu.org/viewcvs?rev=243960=gcc=rev Log: Add RejectNegative for a c option. PR c/78933 * g++.dg/pr78933.C: New test. PR c/78933 * c.opt (strong-eval-order): Add RejectNegative keyword. Added: trunk/gcc/testsuite/g++.dg/pr78933.C Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c.opt trunk/gcc/testsuite/ChangeLog
[Bug c/78933] [7 Regression] ICE: in decode_cmdline_option, at opts-common.c:671 with -fno-strong-eval-order
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78933 Martin Liška changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Martin Liška --- Fixed.
[Bug c++/78949] New: incorrect "unused variable" warning with SSE2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78949 Bug ID: 78949 Summary: incorrect "unused variable" warning with SSE2 Product: gcc Version: 6.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jens.maurer at gmx dot net Target Milestone: --- The following program: typedef unsigned char xmmb_t __attribute__((vector_size(16))); void f() { xmmb_t bla = { }; xmmb_t x = { }; bla &= ~x; } yields an "unused variable" warning, although "x" is obviously used. $ g++ -v -Wunused -c unused.cc gcc version 6.2.0 (GCC) unused.cc: In function ‘void f()’: unused.cc:7:10: warning: variable ‘x’ set but not used [-Wunused-but-set-variable] xmmb_t x = { };
[Bug c++/78948] New: constexpr if instantiating too eagerly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78948 Bug ID: 78948 Summary: constexpr if instantiating too eagerly Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rogero at howzatt dot demon.co.uk Target Milestone: --- The following code fails to compile: CODE template void sizeof_mismatch() { static_assert(T == 0, "sizeof mismatch"); } int main() { if constexpr(sizeof(long long) == sizeof(char*)) ; else sizeof_mismatch(); } ENDS gcc head 2016-12-19 prog.cc: In instantiation of 'void sizeof_mismatch() [with int T = 8]': prog.cc:12:40: required from here prog.cc:4:5: error: static assertion failed: sizeof mismatch static_assert(T == 0, "sizeof mismatch"); ^ However the instantiation of sizeof_mismatch is not required because it is not odr-used (6.4.1p2 [stmt.if] it is a 'discarded statement')
[Bug fortran/78935] [7 Regression] ICE on allocating derived type coarray with allocatable components
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78935 --- Comment #3 from Dominique d'Humieres --- > Workaround (4) in the original submission is mistakenly redundant. What is "Workaround (4)"? > It's an interestingly fragile ICE that disappears with seemingly > minor changes to the code. For example, it also disappears if > the first allocation argument is a scalar. AFAICT the ICE disappears if the two parts are in the same file.
[Bug fortran/78781] [7 Regression] [Coarray] ICE in gfc_deallocate_scalar_with_status, at fortran/trans.c:1588
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78781 vehre at gcc dot gnu.org changed: What|Removed |Added Status|NEW |WAITING Assignee|unassigned at gcc dot gnu.org |vehre at gcc dot gnu.org --- Comment #3 from vehre at gcc dot gnu.org --- Patch and implementation for pointer components in derived type coarrays available at: https://gcc.gnu.org/ml/fortran/2016-12/msg00314.html Waiting for review.