[Bug c++/70254] Compiler crash
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70254 Andrew Pinski changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever confirmed|1 |0 --- Comment #4 from Andrew Pinski --- Provided a testcase a long time ago.
[Bug fortran/67757] ICE after "ambiguous reference"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67757 --- Comment #3 from Dominique d'Humieres --- > This appears to be fixed on 6 and 7. Please check. I still get pr67757_db_1.f90:27:8: use octonion_def, T2 => T 1 Error: Name 't2' at (1) is an ambiguous reference to 't' from module 'octonion_def' pr67757_db_1.f90:27:8: use octonion_def, T2 => T 1 Error: Name 't2' at (1) is an ambiguous reference to 't' from module 'octonion_def' pr67757_db_1.f90:34:16: type(T2) :: c(2) 1 Error: Type name 't2' at (1) is ambiguous with trunk, and pr67757.f90:27:8: use octonion_def, T2 => T 1 Error: Name 't2' at (1) is an ambiguous reference to 't' from module 'octonion_def' pr67757.f90:27:8: use octonion_def, T2 => T 1 Error: Name 't2' at (1) is an ambiguous reference to 't' from module 'octonion_def' (null):0: confused by earlier errors, bailing out with 5.4.0 and 6.1.0.
[Bug c++/70254] Compiler crash
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70254 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|2016-03-16 00:00:00 |2016-07-09 CC||trippels at gcc dot gnu.org Known to work||6.1.0, 7.0 Ever confirmed|0 |1 Known to fail||4.9.3, 5.4.0
[Bug c++/70254] [4.9/5 Only] Compiler crash
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70254 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |4.9.4 Summary|Compiler crash |[4.9/5 Only] Compiler crash
[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 --- Comment #8 from Dominique d'Humieres --- The patch in comment 7 fixes the ICE without regression. Steve, Will it help if I do the packaging or do you prefer to do it yourself?
[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 #5 from Dominique d'Humieres --- > Toon, does this fix the ICE for you as well? It does for me without regression.
[Bug middle-end/70879] Missed jump threading opportunity with multiple != conditions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70879 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Severity|normal |enhancement
[Bug c++/71822] New: [6.0/6.1 Regression] internal compiler error: in gimplify_expr, at gimplify.c:11025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71822 Bug ID: 71822 Summary: [6.0/6.1 Regression] internal compiler error: in gimplify_expr, at gimplify.c:11025 Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: konstantin.vladimirov at gmail dot com Target Milestone: --- Created attachment 38863 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38863&action=edit minimized reproduction (no specific options required) Reproduced on GCC 6.1, not reproduced earlier. Compiler information g++ -v Using built-in specs. COLLECT_GCC=/home/tilir/Applications/gcc-6.1/bin/g++ COLLECT_LTO_WRAPPER=/home/tilir/Applications/gcc-6.1/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../../Sources/gcc-6.1/configure --prefix=/home/tilir/Applications/gcc-6.1 --enable-languages=c,c++ --disable-bootstrap Thread model: posix gcc version 6.1.0 (GCC) Error details g++ repro.cpp repro.cpp: In constructor ‘SchPacketFwk::SchPacketFwk()’: repro.cpp:12:85: internal compiler error: in gimplify_expr, at gimplify.c:11025 explicit ListOf (PointerTo pool = Pools::Self().AppropPoolSame (sizeof (Unit))) {} ^ 0x899b07 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:11025 0x897889 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10221 0x89dd4f gimplify_call_expr ../../../Sources/gcc-6.1/gcc/gimplify.c:2539 0x897c3e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10252 0x89aa06 gimplify_stmt(tree_node**, gimple**) ../../../Sources/gcc-6.1/gcc/gimplify.c:5688 0x89aa52 gimplify_and_add(tree_node*, gimple**) ../../../Sources/gcc-6.1/gcc/gimplify.c:425 0x6a3b27 cp_gimplify_expr(tree_node**, gimple**, gimple**) ../../../Sources/gcc-6.1/gcc/cp/cp-gimplify.c:668 0x89725e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10190 0x897a36 gimplify_target_expr ../../../Sources/gcc-6.1/gcc/gimplify.c:5619 0x897a36 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10650 0x89aa06 gimplify_stmt(tree_node**, gimple**) ../../../Sources/gcc-6.1/gcc/gimplify.c:5688 0x89b137 gimplify_compound_expr ../../../Sources/gcc-6.1/gcc/gimplify.c:4952 0x897968 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10270 0x89dd4f gimplify_call_expr ../../../Sources/gcc-6.1/gcc/gimplify.c:2539 0x897c3e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10252 0x89aa06 gimplify_stmt(tree_node**, gimple**) ../../../Sources/gcc-6.1/gcc/gimplify.c:5688 0x898e1e gimplify_cleanup_point_expr ../../../Sources/gcc-6.1/gcc/gimplify.c:5464 0x898e1e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../../Sources/gcc-6.1/gcc/gimplify.c:10646 0x89aa06 gimplify_stmt(tree_node**, gimple**) ../../../Sources/gcc-6.1/gcc/gimplify.c:5688 0x8983e3 gimplify_statement_list ../../../Sources/gcc-6.1/gcc/gimplify.c:1537
[Bug c++/71822] [6/7 Regression] ICE: in gimplify_expr, at gimplify.c:11025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71822 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |NEW Known to work||4.9.3, 5.4.0 Keywords||ice-on-valid-code Last reconfirmed||2016-07-09 CC||trippels at gcc dot gnu.org Ever confirmed|0 |1 Summary|[6.0/6.1 Regression]|[6/7 Regression] ICE: in |internal compiler error: in |gimplify_expr, at |gimplify_expr, at |gimplify.c:11025 |gimplify.c:11025| Known to fail||6.1.0, 7.0
[Bug c++/71822] [6/7 Regression] ICE: in gimplify_expr, at gimplify.c:11025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71822 --- Comment #1 from Markus Trippelsdorf --- (gdb) p expr_p->base.code $1 = SIZEOF_EXPR
[Bug bootstrap/71816] [7 Regression] bootstrap broken on multiple targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 David Binderman changed: What|Removed |Added CC||dcb314 at hotmail dot com --- Comment #7 from David Binderman --- I see something similar on x86_64 icount.c: In function 'insert_icount_el': icount.c:317:31: error: non-trivial conversion at assignment static struct ext2_icount_el *insert_icount_el(ext2_icount_t icount, ^~~~ struct ext2_icount_el * long unsigned int # VUSE <.MEM_42(D)> pretmp_59 = MEM[(char * {ref-all})icount_43(D) + 40B]; icount.c:317:31: internal compiler error: verify_gimple failed 0xca9e30 verify_gimple_in_cfg(function*, bool) ../../src/trunk/gcc/tree-cfg.c:5212 0xb594c3 execute_function_todo ../../src/trunk/gcc/passes.c:1964 0xb5adb3 do_per_function ../../src/trunk/gcc/passes.c:1648 0xb5adb3 execute_todo ../../src/trunk/gcc/passes.c:2016
[Bug tree-optimization/50417] regression: memcpy with known alignment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50417 --- Comment #18 from Georg-Johann Lay --- (In reply to rguent...@suse.de from comment #12) > On Fri, 8 Jul 2016, olegendo at gcc dot gnu.org wrote: > > > void test (const int *a, int *b) > > { > > a[100] = 1; > > b[200] = 2; > > > > std::memcpy ((char *)b, (char *)a, t); > > } > > > > where a[100] and b[200] both would result in 32 bit accesses, not 4x1 byte > > or > > something, because the base pointer is assumed to be int aligned. > > No, because the access is performed as 'int'. > > > Why should memcpy be any different? > > Because the memcpy stmt doesn't constitute a memory access but a function > call. What about a new command option like -fassume-aligned-xxx that's off per default? The user could assert that when she is using memcpy (and friends) with a pointer of a specific type, then that also asserts that the data behind the pointer is appropriately aligned and may be accessed accordingly.
[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 #6 from Toon Moene --- On 07/08/2016 11:15 PM, tkoenig at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71783 > > --- Comment #3 from Thomas Koenig --- > The solution turns that fixes the ICE turns out to be reasonably simple: We > were missing a charlen for the allocatable case. > > What I do not yet understand is why this code was reached in the first place; > the temporary assignment should never happen for this case. > > Index: frontend-passes.c > === > --- frontend-passes.c (Revision 237949) > +++ frontend-passes.c (Arbeitskopie) > @@ -665,12 +665,10 @@ create_var (gfc_expr * e, const char *vname) > { >gfc_expr *length; > > + symbol->ts.u.cl = gfc_new_charlen (ns, NULL); >length = constant_string_length (e); >if (length) > - { > - symbol->ts.u.cl = gfc_new_charlen (ns, NULL); > - symbol->ts.u.cl->length = length; > - } > + symbol->ts.u.cl->length = length; >else > symbol->attr.allocatable = 1; > } > > Toon, does this fix the ICE for you as well? This works for me on trunk - it is hard to see whether it invokes regressions, because those have been varying with various targets ... Nevertheless, looks OK as a solution. Thanks,
[Bug tree-optimization/71823] New: g++ segfaults with -mfma and -ftree-slp-vectorize
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71823 Bug ID: 71823 Summary: g++ segfaults with -mfma and -ftree-slp-vectorize Product: gcc Version: 6.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: nicolas.stinus at gmail dot com Target Milestone: --- Created attachment 38864 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38864&action=edit Pre-processed test file filtered through creduce Command run: g++ -v -mfma -O2 -ftree-slp-vectorize -x c++-cpp-output main.i Output: Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release Thread model: posix gcc version 6.1.1 20160602 (GCC) COLLECT_GCC_OPTIONS='-v' '-mfma' '-O2' '-ftree-slp-vectorize' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/cc1plus -fpreprocessed main.i -quiet -dumpbase main.i -mfma -mtune=generic -march=x86-64 -auxbase main -O2 -version -ftree-slp-vectorize -o /tmp/ccH7gRRP.s GNU C++14 (GCC) version 6.1.1 20160602 (x86_64-pc-linux-gnu) compiled by GNU C version 6.1.1 20160602, GMP version 6.1.0, MPFR version 3.1.4-p1, MPC version 1.0.3, isl version 0.15 warning: GMP header version 6.1.0 differs from library version 6.1.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++14 (GCC) version 6.1.1 20160602 (x86_64-pc-linux-gnu) compiled by GNU C version 6.1.1 20160602, GMP version 6.1.0, MPFR version 3.1.4-p1, MPC version 1.0.3, isl version 0.15 warning: GMP header version 6.1.0 differs from library version 6.1.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 9a234fd559755d378f3229409080f351 main.i:12:21: warning: ‘static std::chrono::{anonymous}::system_clock::time_point std::chrono::{anonymous}::system_clock::now()’ used but never defined static time_point now(); ^~~ main.i: In function ‘int main()’: main.i:34:1: internal compiler error: Segmentation fault main() { ^~~~ Please submit a full bug report, with preprocessed source if appropriate.
[Bug fortran/71770] gfortran: internal compiler error: Segmentation fault (program f951)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71770 --- Comment #6 from Isabelle --- I searched for a second cugwin1.dll. I found an old (2004) one however it was not in the path. I deleted it, rebooted, now there is only one. The same error persists.
[Bug target/69880] Linking Windows resource + implicit 'default-manifest.o' creates bad .exe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69880 Boris Kolpackov changed: What|Removed |Added CC||boris at kolpackov dot net --- Comment #1 from Boris Kolpackov --- Could this be the same merging issue as discussed here: https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01386.html BTW, looking at the patch, I initially thought that one workaround would be to specify a directory (with -L) that contains a custom default-manifest.o so that it is found before the system one. This, however, does not work since GCC searches for it itself and only in its own library search paths (i.e., collect2.exe is already passed the absolute path). Which suggests one possible way to support disabling this functionality: change default-manifest.o to libdefault-manifest.a and use the standard -ldefault-manifest logic to link it. This way the user will be able to provide their own (potentially empty) version.
[Bug bootstrap/71816] [7 Regression] bootstrap broken on multiple targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 --- Comment #8 from rguenther at suse dot de --- On July 8, 2016 5:47:43 PM GMT+02:00, "ktkachov at gcc dot gnu.org" wrote: >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 > >ktkachov at gcc dot gnu.org changed: > > What|Removed |Added > > Target|arm-linux-gnueabihf,|arm-linux-gnueabihf, > |powerpc-linux-gnu, |powerpc-linux-gnu, > |sparc-sun-solaris2.*, |sparc-sun-solaris2.*, > |powerpc-ibm-aix*|powerpc-ibm-aix*, s390 > CC||rguenth at gcc dot gnu.org > Summary|[7 Regression] bootstrap|[7 Regression] bootstrap > |broken on |broken on multiple targets > |armhf-linux-gnuabihf| > >--- Comment #5 from ktkachov at gcc dot gnu.org --- >Seems to have started with r238078 Can somebody please attach preprocessed source for an affected target (or for the x86_64 testcase)?
[Bug libstdc++/66145] [5/6/7 Regression] std::ios_base::failure objects thrown from libstdc++.so use old ABI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66145 --- Comment #15 from Boris Kolpackov --- > And I still think using exceptions in iostreams is dumb in the first place. I am interested to hear what is your recommendation to do instead, call good() after every IO operation? In fact, I think that with inheritance from system_error iostream exceptions finally got (barely) usable. But because of this bug (which is now pervasive) we will probably have to scrap the use of exceptions. So I am genuinely interested to hear about the alternatives/recommendations.
[Bug fortran/71770] gfortran: internal compiler error: Segmentation fault (program f951)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71770 --- Comment #7 from Jerry DeLisle --- I am getting wfdb and will attemt to confirm this bug on non-cygwin.
[Bug bootstrap/71816] [7 Regression] bootstrap broken on multiple targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 --- Comment #9 from David Binderman --- Created attachment 38865 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38865&action=edit C source code Flag -O2 required on x86_64
[Bug fortran/71770] gfortran: internal compiler error: Segmentation fault (program f951)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71770 Jerry DeLisle changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #8 from Jerry DeLisle --- I can compile all of the fortran files without error. There are several warnings related to older coding styles, but otherwise OK. I am pretty sure this is a Cygwin installation problem. Closing.
[Bug bootstrap/71816] [7 Regression] bootstrap broken on multiple targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 Markus Trippelsdorf changed: What|Removed |Added Target|arm-linux-gnueabihf,| |powerpc-linux-gnu, | |sparc-sun-solaris2.*, | |powerpc-ibm-aix*, s390 | CC||trippels at gcc dot gnu.org --- Comment #10 from Markus Trippelsdorf --- void *ext2fs_resize_mem_p; struct ext2_icount_el { int ino; } * insert_icount_el_icount_1; int insert_icount_el_icount, insert_icount_el_new_size; void *memcpy(); void *realloc(); int ext2fs_resize_mem(void *p1) { int size = 0; memcpy(&ext2fs_resize_mem_p, p1, sizeof(ext2fs_resize_mem_p)); realloc(&ext2fs_resize_mem_p, size); return 0; } struct ext2_icount_el *insert_icount_el() { if (insert_icount_el_icount) insert_icount_el_new_size = insert_icount_el_icount_1[0].ino; ext2fs_resize_mem(&insert_icount_el_icount_1); return 0; }
[Bug tree-optimization/71824] New: ICE when compiling libiberty with Graphite loop optimizations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71824 Bug ID: 71824 Summary: ICE when compiling libiberty with Graphite loop optimizations Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: vanboxem.ruben at gmail dot com Target Milestone: --- Created attachment 38866 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38866&action=edit preprocessed source file that causes ICE Compiling attached file for x86_64-w64-mingw32 ICEs: x86_64-w64-mingw32-gcc -c -O2 -march=nocona -mtune=core2 -fomit-frame-pointer -momit-leaf-frame-pointer -fgraphite-identity -floop-interchange -floop-block -floop-parallelize-all -x c getopt.ii/home/ruben/MinGW-w64-build-scripts/src/binutils/libiberty/getopt.c: In function 'exchange': /home/ruben/MinGW-w64-build-scripts/src/binutils/libiberty/getopt.c:317:1: internal compiler error: in add_loop_constraints, at graphite-sese-to-poly.c:933 exchange (char **argv) ^~~~ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. The cross-compiler in question is GCC 6.1.0 built with ISL 0.16.1.
[Bug fortran/70870] Segmentation violation in gfc_assign_data_value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70870 --- Comment #3 from kargl at gcc dot gnu.org --- Index: data.c === --- data.c (revision 238178) +++ data.c (working copy) @@ -489,6 +489,15 @@ gfc_assign_data_value (gfc_expr *lvalue, } else { + if (lvalue->ts.type == BT_DERIVED + && gfc_has_default_initializer (lvalue->ts.u.derived)) + { + gfc_error ("Nonpointer object %qs with default initialization " +"shall not appear in a DATA statement at %L", +symbol->name, &lvalue->where); + return false; + } + /* Overwriting an existing initializer is non-standard but usually only provokes a warning from other compilers. */ if (init != NULL) % gfc -c -Wall a.f90 a.f90:6:4: data v2/t(2)/ ! this is wrong 1 Error: Nonpointer object 'v2' with default initialization shall not appear in a DATA statement at (1)
[Bug c++/71821] [5/6/7 regression] ICE on invalid C++11 code (incorrect argument for alignas): unexpected expression ‘f’ of kind template_id_expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71821 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |NEW Known to work||4.7.4 Keywords||ice-on-invalid-code Last reconfirmed||2016-07-09 CC||msebor at gcc dot gnu.org Blocks||58601 Ever confirmed|0 |1 Summary|ICE on invalid C++11 code |[5/6/7 regression] ICE on |(incorrect argument for |invalid C++11 code |alignas): unexpected|(incorrect argument for |expression ‘f’ of kind |alignas): unexpected |template_id_expr|expression ‘f’ of kind ||template_id_expr Known to fail||4.8.5, 4.9.3, 5.3.0, 6.1.0, ||7.0 --- Comment #1 from Martin Sebor --- Confirmed with r193029 committed in the GCC 4.8.0 release as the likely root cause of the ICE. r193029 | dodji | 2012-10-31 04:55:43 -0400 (Wed, 31 Oct 2012) | 25 lines PR c++/54955 - Fail to parse alignas expr at the beginning of a declaration In this PR, g++ embarrassingly fails to parse the simple alignas expression below: alignas(double) int f; even though the simple-declaration production in Clause 7 suggests otherwise. Fixed thus and tested on x86_64-unknown-linux-gnu against trunk. gcc/cp PR c++/54955 * parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the 'Alignas' keyword as the beginning of a c++11 attribute specifier. Update the comment of the function. (cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the function. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58601 [Bug 58601] [meta-bug] alignas
[Bug tree-optimization/70861] Improve code generation of switch tables
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70861 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement
[Bug c++/61341] ICE for variadic templates: tsubst at cp/pt.c:11313, tree check: expected class ‘expression’, have ‘type’ (integer_type)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61341 Martin Sebor changed: What|Removed |Added Keywords||ice-on-valid-code CC||msebor at gcc dot gnu.org Known to fail||4.3.0 --- Comment #5 from Martin Sebor --- The ICE looks as old as variadic template argument support itself. The first revision that fails with it is r122788 committed in the GCC 4.3.0 time frame: r122788 | dgregor | 2007-03-09 20:58:58 -0500 (Fri, 09 Mar 2007) | 214 lines 2007-03-09 Douglas Gregor PR c++/20599
[Bug middle-end/70802] IRA memory cost calculation incorrect for immediates
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70802 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization, ra --- Comment #1 from Andrew Pinski --- Related to bug 71768.
[Bug c++/71822] [6/7 Regression] ICE: in gimplify_expr, at gimplify.c:11025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71822 Martin Sebor changed: What|Removed |Added CC||msebor at gcc dot gnu.org --- Comment #2 from Martin Sebor --- The ICE first appeared with r230365: r230365 | jason | 2015-11-13 19:08:05 -0500 (Fri, 13 Nov 2015) | 59 lines Merge C++ delayed folding branch.
[Bug c++/71825] New: incorrectly rejects valid C++ code with a template class inside a namespace
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71825 Bug ID: 71825 Summary: incorrectly rejects valid C++ code with a template class inside a namespace Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- The code is accepted by both Clang and MSVC. The issue seems to do with the wrong name lookup for A in the constructor definition. $ g++-trunk -v Using built-in specs. COLLECT_GCC=g++-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160709 (experimental) [trunk revision 238191] (GCC) $ $ clang++-3.8 -c small.cpp $ $ g++-trunk -c small.cpp small.cpp:8:6: error: expected unqualified-id before ‘)’ token A () {} ^ $ -- namespace N { template < class > struct A; } template < class A > struct N::A { A () {} };
[Bug c++/71825] incorrectly rejects valid C++ code with a template class inside a namespace
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71825 --- Comment #1 from Zhendong Su --- Both the following are accepted: $ g++-trunk -c small1.cpp $ cat small1.cpp namespace N { template < class > struct A; } template < class T > struct N::A { A () {} }; $ $ g++-trunk -c small2.cpp $ cat small2.cpp namespace N { template < class > struct A; } template < class A > struct N::A { };
[Bug rtl-optimization/71028] [7 regression] ICE in redirect_jump, at jump.c:1560
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71028 Andrew Pinski changed: What|Removed |Added Keywords||ice-on-valid-code Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #3 from Andrew Pinski --- Fixed.
[Bug target/71012] ICE: in expand_expr_real_2, at expr.c:9348 when compiling stress-ng
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71012 Andrew Pinski changed: What|Removed |Added URL|https://buildd.debian.org/s | |tatus/fetch.php?pkg=stress- | |ng&arch=powerpcspe&ver=0.06 | |.01-1&stamp=1462574245 | --- Comment #1 from Andrew Pinski --- https://buildd.debian.org/status/fetch.php?pkg=stress-ng&arch=powerpcspe&ver=0.06.01-1&stamp=1462574245
[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 #7 from Thomas Koenig --- Author: tkoenig Date: Sat Jul 9 22:18:29 2016 New Revision: 238192 URL: https://gcc.gnu.org/viewcvs?rev=238192&root=gcc&view=rev Log: 2016-07-09 Thomas Koenig PR fortran/71783 * frontend-passes.c (create_var): Always allocate a charlen for character variables. 2016-07-09 Thomas Koenig PR fortran/71783 * gfortran.dg/dependency_46.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/dependency_46.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/frontend-passes.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/70946] Bad interaction between IVOpt and loop unrolling
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70946 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Severity|normal |enhancement --- Comment #3 from Andrew Pinski --- Confirmed.
[Bug c++/71826] New: ICE on invalid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71826 Bug ID: 71826 Summary: ICE on invalid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- The following C++ code causes an ICE when compiled with the current GCC trunk on x86_64-linux-gnu in both 32-bit and 64-bit modes. It is a regression from 6.1.x. The code seems to be (mistakenly?) accepted by both Clang and ICC. $ g++-trunk -v Using built-in specs. COLLECT_GCC=g++-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160709 (experimental) [trunk revision 238191] (GCC) $ $ clang++-3.8 -c small.cpp $ $ g++-6.1 -c small.cpp small.cpp: In instantiation of ‘void C::f() [with T = int]’: small.cpp:13:7: required from here small.cpp:7:16: error: request for member ‘i’ is ambiguous void f () { i (); } ^ small.cpp:3:18: note: candidates are: void B::i() struct B { void i () {} }; ^ small.cpp:1:36: note: int A::i template < class > struct A { int i; }; ^ $ $ g++-trunk -c small.cpp small.cpp: In instantiation of ‘void C::f() [with T = int]’: small.cpp:13:7: required from here small.cpp:7:18: error: request for member ‘i’ is ambiguous void f () { i (); } ~~^~ small.cpp:3:18: note: candidates are: void B::i() struct B { void i () {} }; ^ small.cpp:1:36: note: int A::i template < class > struct A { int i; }; ^ small.cpp:7:18: internal compiler error: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737 void f () { i (); } ~~^~ 0x105f7ec tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc-source-trunk/gcc/tree.c:9751 0x6fcbf7 tree_check ../../gcc-source-trunk/gcc/tree.h:3030 0x6fcbf7 tsubst_baselink ../../gcc-source-trunk/gcc/cp/pt.c:13737 0x6e52b0 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc-source-trunk/gcc/cp/pt.c:16865 0x6e48aa tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc-source-trunk/gcc/cp/pt.c:16536 0x6d6cbf tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc-source-trunk/gcc/cp/pt.c:15868 0x6d735a tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc-source-trunk/gcc/cp/pt.c:15180 0x6d81f0 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../gcc-source-trunk/gcc/cp/pt.c:15351 0x6d4bf5 instantiate_decl(tree_node*, int, bool) ../../gcc-source-trunk/gcc/cp/pt.c:22095 0x7218d2 instantiate_pending_templates(int) ../../gcc-source-trunk/gcc/cp/pt.c:22214 0x764a05 c_parse_final_cleanups() ../../gcc-source-trunk/gcc/cp/decl2.c:4600 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ -- template < class > struct A { int i; }; struct B { void i () {} }; template < class T > struct C : A < T >, B { void f () { i (); } }; int main () { C < int > c; c.f(); return 0; }
[Bug bootstrap/71816] [7 Regression] bootstrap broken on multiple targets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71816 John David Anglin changed: What|Removed |Added CC||danglin at gcc dot gnu.org --- Comment #11 from John David Anglin --- Same on 32-bit hppa.
[Bug c++/71826] ICE on invalid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71826 --- Comment #1 from Andrew Pinski --- This code is valid as I here should not be looked up in the dependent base class. There is another bug about that already filed
[Bug c++/71826] ICE on invalid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71826 --- Comment #2 from Andrew Pinski --- (In reply to Andrew Pinski from comment #1) > This code is valid as I here should not be looked up in the dependent base > class. There is another bug about that already filed That is bug 15272.
[Bug c++/70868] Assigning constructed temporary of class with nontrivial constructor uses unnecessary temporary
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70868 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement
[Bug c++/71826] ICE on valid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71826 --- Comment #3 from Zhendong Su --- (In reply to Andrew Pinski from comment #2) > (In reply to Andrew Pinski from comment #1) > > This code is valid as I here should not be looked up in the dependent base > > class. There is another bug about that already filed > > That is bug 15272. That's interesting to know. Thank you Andrew.
[Bug c++/71827] New: ICE on invalid C++11 code with illegal non-type template argument: in convert_nontype_argument, at cp/pt.c:6014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71827 Bug ID: 71827 Summary: ICE on invalid C++11 code with illegal non-type template argument: in convert_nontype_argument, at cp/pt.c:6014 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- The following C++11 code causes an ICE when compiled with the current GCC trunk on x86_64-linux-gnu in both 32-bit and 64-bit modes. It seems to affect all versions since as early as 4.7.x (when C++11 started to be supported). $ g++-trunk -v Using built-in specs. COLLECT_GCC=g++-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160709 (experimental) [trunk revision 238191] (GCC) $ $ g++-trunk -c small.cpp small.cpp: In function ‘void foo()’: small.cpp:5:41: internal compiler error: in convert_nontype_argument, at cp/pt.c:6418 m: n: A < int, (long) &&n - (long) &&m > a; ^ 0x6e8707 convert_nontype_argument ../../gcc-source-trunk/gcc/cp/pt.c:6418 0x6ef463 convert_template_argument ../../gcc-source-trunk/gcc/cp/pt.c:7287 0x6faa8b coerce_template_parms ../../gcc-source-trunk/gcc/cp/pt.c:7748 0x6fd7ea lookup_template_class_1 ../../gcc-source-trunk/gcc/cp/pt.c:8331 0x6fd7ea lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../gcc-source-trunk/gcc/cp/pt.c:8672 0x81769d finish_template_type(tree_node*, tree_node*, int) ../../gcc-source-trunk/gcc/cp/semantics.c:3133 0x7a3ce4 cp_parser_template_id ../../gcc-source-trunk/gcc/cp/parser.c:14919 0x7a3f8a cp_parser_class_name ../../gcc-source-trunk/gcc/cp/parser.c:21223 0x7929ad cp_parser_qualifying_entity ../../gcc-source-trunk/gcc/cp/parser.c:6250 0x7929ad cp_parser_nested_name_specifier_opt ../../gcc-source-trunk/gcc/cp/parser.c:5934 0x7b0ead cp_parser_simple_type_specifier ../../gcc-source-trunk/gcc/cp/parser.c:16242 0x789c81 cp_parser_type_specifier ../../gcc-source-trunk/gcc/cp/parser.c:15919 0x7a4673 cp_parser_decl_specifier_seq ../../gcc-source-trunk/gcc/cp/parser.c:12763 0x7adc91 cp_parser_simple_declaration ../../gcc-source-trunk/gcc/cp/parser.c:12304 0x7ae0e1 cp_parser_block_declaration ../../gcc-source-trunk/gcc/cp/parser.c:12251 0x7aeb38 cp_parser_declaration_statement ../../gcc-source-trunk/gcc/cp/parser.c:11863 0x78d01b cp_parser_statement ../../gcc-source-trunk/gcc/cp/parser.c:10531 0x78d93c cp_parser_statement_seq_opt ../../gcc-source-trunk/gcc/cp/parser.c:10809 0x78da2f cp_parser_compound_statement ../../gcc-source-trunk/gcc/cp/parser.c:10763 0x7ac2cf cp_parser_function_body ../../gcc-source-trunk/gcc/cp/parser.c:20701 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ --- template < typename T, T > struct A {}; void foo () { m: n: A < int, (long) &&n - (long) &&m > a; }
[Bug c++/71828] New: ICE on valid C++11 code with __Complex int variable declaration: in operand_equal_p, at fold-const.c:2790
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71828 Bug ID: 71828 Summary: ICE on valid C++11 code with __Complex int variable declaration: in operand_equal_p, at fold-const.c:2790 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- The following C++11 code causes an ICE when compiled with the current GCC trunk on x86_64-linux-gnu in both 32-bit and 64-bit modes. This is a regression from 6.1.x. $ g++-trunk -v Using built-in specs. COLLECT_GCC=g++-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160709 (experimental) [trunk revision 238191] (GCC) $ $ g++-6.1 -c small.cpp $ $ g++-trunk -c small.cpp small.cpp:3:44: internal compiler error: in operand_equal_p, at fold-const.c:2790 static_assert (& __imag a == &__real a, ""); ^ 0xab89b0 operand_equal_p(tree_node const*, tree_node const*, unsigned int) ../../gcc-source-trunk/gcc/fold-const.c:2790 0xab70e9 operand_equal_p(tree_node const*, tree_node const*, unsigned int) ../../gcc-source-trunk/gcc/fold-const.c:2951 0xab6cbf operand_equal_p(tree_node const*, tree_node const*, unsigned int) ../../gcc-source-trunk/gcc/fold-const.c:2749 0x1226391 generic_simplify_EQ_EXPR /tmp/gcc-builder/gcc-build-trunk/gcc/generic-match.c:27436 0x122ab55 generic_simplify(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) /tmp/gcc-builder/gcc-build-trunk/gcc/generic-match.c:31021 0xac73f7 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) ../../gcc-source-trunk/gcc/fold-const.c:9161 0x8aeba8 cxx_eval_binary_expression ../../gcc-source-trunk/gcc/cp/constexpr.c:1816 0x8ab4d7 cxx_eval_constant_expression ../../gcc-source-trunk/gcc/cp/constexpr.c:3885 0x8b1ec9 cxx_eval_outermost_constant_expr ../../gcc-source-trunk/gcc/cp/constexpr.c:4211 0x8b4ec8 maybe_constant_value_1 ../../gcc-source-trunk/gcc/cp/constexpr.c:4405 0x8b4ec8 maybe_constant_value(tree_node*, tree_node*) ../../gcc-source-trunk/gcc/cp/constexpr.c:4429 0x81ded5 finish_static_assert(tree_node*, tree_node*, unsigned int, bool) ../../gcc-source-trunk/gcc/cp/semantics.c:8749 0x79c370 cp_parser_static_assert ../../gcc-source-trunk/gcc/cp/parser.c:13056 0x7ae489 cp_parser_block_declaration ../../gcc-source-trunk/gcc/cp/parser.c:12247 0x7b6d50 cp_parser_declaration ../../gcc-source-trunk/gcc/cp/parser.c:12148 0x7b5824 cp_parser_declaration_seq_opt ../../gcc-source-trunk/gcc/cp/parser.c:12027 0x7b5b58 cp_parser_translation_unit ../../gcc-source-trunk/gcc/cp/parser.c:4329 0x7b5b58 c_parse_file() ../../gcc-source-trunk/gcc/cp/parser.c:37505 0x919dc2 c_common_parse_file() ../../gcc-source-trunk/gcc/c-family/c-opts.c:1070 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ - constexpr _Complex int a {1, 1}; static_assert (& __imag a == &__real a, "");