[Bug c++/77786] New: internal compiler error: in tsubst_copy, at cp/pt.c:13040
matthias.thul at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Sep 28 19:46:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77786
Bug ID: 77786
Summary: internal compiler error: in tsubst_copy, at
cp/pt.c:13040
Product: gcc
Version: 5.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: matthias.thul at gmail dot com
Target Milestone: ---
Created attachment 39720
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39720&action=edit
compiler output
The below code fails with the the internal compiler error "in tsubst_copy, at
cp/pt.c:13040" in 5.4.1. The code compiles successfully with 4.9.4 and 6.2.0 as
well as Clang 3.8.0.
When removing the template parameter from foo, the internal compiler error
changes to "Segmentation fault".
When checking whether this was a duplicate of 70343, I changed the capture of
the lambda bar from [&] to [] and the internal compiler error still occurs
(though the code is not valid any longer).
========== code ==========
#include <vector>
template<int N>
void foo(std::vector<int> a) {
auto const a_size = a.size();
auto bar = [&](auto y) -> void {
int a_size_2 = a_size;
};
double x = 0.0;
bar(x);
}
int main() {
std::vector<int> a(1);
foo<1>(a);
}
========== output of gcc -v ==========
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
5.4.1-2ubuntu1~16.04' --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.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~16.04)
========== complete command line that triggers the bug ==========
g++ -std=c++14 main.cpp -o main
More information about the Gcc-bugs
mailing list