internal compiler error: in tsubst_decl

Bug #1489173 reported by Jonathan Poelen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gcc
Unknown
Unknown
gcc-5 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Description: Ubuntu Wily Werewolf (development branch)
Release: 15.10

$ /usr/lib/gcc-snapshot/bin/g++ -std=c++14 -c -v seg.cpp -save-temps
Using built-in specs.
COLLECT_GCC=/usr/lib/gcc-snapshot/bin/g++
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 20150825-0ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs --enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++ --prefix=/usr/lib/gcc-snapshot --enable-shared --enable-linker-build-id --disable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --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-6-snap-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-snap-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-snap-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 --enable-multilib --with-tune=generic --enable-checking=yes --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.0.0 20150825 (experimental) [trunk revision 227171] (Ubuntu 20150825-0ubuntu1)
COLLECT_GCC_OPTIONS='-std=c++14' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc-snapshot/libexec/gcc/x86_64-linux-gnu/6.0.0/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE seg.cpp -mtune=generic -march=x86-64 -std=c++14 -fpch-preprocess -o seg.ii
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/../../../../include/c++/6.0.0
 /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/../../../../include/c++/6.0.0/x86_64-linux-gnu
 /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/../../../../include/c++/6.0.0/backward
 /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/include
 /usr/local/include
 /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/6.0.0/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-std=c++14' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc-snapshot/libexec/gcc/x86_64-linux-gnu/6.0.0/cc1plus -fpreprocessed seg.ii -quiet -dumpbase seg.cpp -mtune=generic -march=x86-64 -auxbase seg -std=c++14 -version -o seg.s
GNU C++14 (Ubuntu 20150825-0ubuntu1) version 6.0.0 20150825 (experimental) [trunk revision 227171] (x86_64-linux-gnu)
        compiled by GNU C version 6.0.0 20150825 (experimental) [trunk revision 227171], GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++14 (Ubuntu 20150825-0ubuntu1) version 6.0.0 20150825 (experimental) [trunk revision 227171] (x86_64-linux-gnu)
        compiled by GNU C version 6.0.0 20150825 (experimental) [trunk revision 227171], GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 46baca5a0447f063eeea8210a0fae66e
seg.cpp: In instantiation of 'main()::<lambda(auto:1)> [with auto:1 = int]':
seg.cpp:6:23: required from here
seg.cpp:1:5: internal compiler error: in tsubst_decl, at cp/pt.c:11302
 int main() {
     ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-snapshot/README.Bugs> for instructions.

# 1 "seg.cpp"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "seg.cpp"
int main() {
  unsigned const nsz = 0;
  auto repeat_conditional = [&](auto) {
    auto new_sz = nsz;
  };
  repeat_conditional(1);
}

Same with version 5.2 with more trace.

$ g++-5 -std=c++14 -c -v seg.cpp -save-temps
Using built-in specs.
COLLECT_GCC=g++-5
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-15ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --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-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-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 --enable-multilib --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 5.2.1 20150808 (Ubuntu 5.2.1-15ubuntu2)
COLLECT_GCC_OPTIONS='-std=c++14' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -E -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE seg.cpp -mtune=generic -march=x86-64 -std=c++14 -fpch-preprocess -fstack-protector-strong -Wformat -Wformat-security -o seg.ii
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/5
 /usr/include/x86_64-linux-gnu/c++/5
 /usr/include/c++/5/backward
 /usr/lib/gcc/x86_64-linux-gnu/5/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-std=c++14' '-c' '-v' '-save-temps' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -fpreprocessed seg.ii -quiet -dumpbase seg.cpp -mtune=generic -march=x86-64 -auxbase seg -std=c++14 -version -fstack-protector-strong -Wformat -Wformat-security -o seg.s
GNU C++14 (Ubuntu 5.2.1-15ubuntu2) version 5.2.1 20150808 (x86_64-linux-gnu)
        compiled by GNU C version 5.2.1 20150808, GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++14 (Ubuntu 5.2.1-15ubuntu2) version 5.2.1 20150808 (x86_64-linux-gnu)
        compiled by GNU C version 5.2.1 20150808, GMP version 6.0.0, MPFR version 3.1.3, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 6c22443aaafcb4e084c64ca78cf9db0d
seg.cpp: In instantiation of ‘main()::<lambda(auto:1)> [with auto:1 = int]’:
seg.cpp:6:23: required from here
seg.cpp:1:5: internal compiler error: in tsubst_decl, at cp/pt.c:10853
 int main() {
     ^
0x634d4c tsubst_decl
        ../../src/gcc/cp/pt.c:10853
0x627104 tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../src/gcc/cp/pt.c:11955
0x632c22 tsubst_copy
        ../../src/gcc/cp/pt.c:13114
0x623be8 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
        ../../src/gcc/cp/pt.c:15739
0x62c1e2 tsubst_expr
        ../../src/gcc/cp/pt.c:14551
0x62cf95 tsubst_init
        ../../src/gcc/cp/pt.c:12946
0x62c9f6 tsubst_expr
        ../../src/gcc/cp/pt.c:14055
0x62c12c tsubst_expr
        ../../src/gcc/cp/pt.c:14134
0x62c12c tsubst_expr
        ../../src/gcc/cp/pt.c:14134
0x62ae97 instantiate_decl(tree_node*, int, bool)
        ../../src/gcc/cp/pt.c:20579
0x65a172 mark_used(tree_node*, int)
        ../../src/gcc/cp/decl2.c:5032
0x5f99c0 build_over_call
        ../../src/gcc/cp/call.c:7501
0x5fc0f1 build_op_call_1
        ../../src/gcc/cp/call.c:4345
0x5fc0f1 build_op_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, int)
        ../../src/gcc/cp/call.c:4368
0x6c3878 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int)
        ../../src/gcc/cp/semantics.c:2426
0x677ad1 cp_parser_postfix_expression
        ../../src/gcc/cp/parser.c:6376
0x679f69 cp_parser_unary_expression
        ../../src/gcc/cp/parser.c:7439
0x67aae7 cp_parser_binary_expression
        ../../src/gcc/cp/parser.c:8173
0x67b0dd cp_parser_assignment_expression
        ../../src/gcc/cp/parser.c:8431
0x67d451 cp_parser_expression
        ../../src/gcc/cp/parser.c:8585
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.

Ok for 4.9.3 (Ubuntu 4.9.3-2ubuntu1).

Matthias Klose (doko)
affects: gcc-snapshot (Ubuntu) → gcc-5 (Ubuntu)
Changed in gcc-5 (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gcc-5 - 5.2.1-17ubuntu1

---------------
gcc-5 (5.2.1-17ubuntu1) wily; urgency=medium

  * Merge with Debian; remaining changes:
    - Build from upstream sources.

 -- Matthias Klose <email address hidden> Fri, 11 Sep 2015 03:24:48 +0200

Changed in gcc-5 (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.