https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69813
Bug ID: 69813 Summary: internal compiler error: Segmentation fault on Template Meta Programming Product: gcc Version: lto Status: RESOLVED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: wingfire at gmail dot com CC: trippels at gcc dot gnu.org Target Milestone: --- Status: RESOLVED CC: trippels at gcc dot gnu.org Resolution: DUPLICATE g++ version: $g++-5 -v Using built-in specs. COLLECT_GCC=g++-5 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='Debian 5.3.1-8' --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 --with-arch-32=i586 --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.3.1 20160205 (Debian 5.3.1-8) OS version: Debian/sid $uname -a Linux gcc 4.0.0-1-amd64 #1 SMP Debian 4.0.2-1 (2015-05-11) x86_64 GNU/Linux Command line: $g++-5 -std=c++11 -save-temps -o bug bug.cpp Error message: bug.cpp: In instantiation of 'struct type_less<double, int>': bug.cpp:39:70: required from 'struct partition<seq<int, double>, type_less>' bug.cpp:62:62: required from 'struct sort<seq<int, double>, type_less>' bug.cpp:115:44: required from here bug.cpp:111:41: in constexpr expansion of 'type_id() [with T = double]()' bug.cpp:111:41: internal compiler error: Segmentation fault template<typename T, typename U> struct type_less : bool_value<type_id<T>() < type_id<U>()>{}; ^ 0x848ecc crash_signal ../../src/gcc/toplev.c:383 0xebc737 bool vec_safe_reserve<tree_node*, va_gc>(vec<tree_node*, va_gc, vl_embed>*&, unsigned int, bool) ../../src/gcc/vec.h:575 0xebc737 tree_node** vec_safe_push<tree_node*, va_gc>(vec<tree_node*, va_gc, vl_embed>*&, tree_node* const&) ../../src/gcc/vec.h:669 0xebc737 add_local_decl(function*, tree_node*) ../../src/gcc/function.c:6703 0x10184b3 remap_decls ../../src/gcc/tree-inline.c:653 0x12be6ae remap_block ../../src/gcc/tree-inline.c:721 0x1016f55 copy_bind_expr ../../src/gcc/tree-inline.c:794 0x1016f55 copy_tree_body_r(tree_node**, int*, void*) ../../src/gcc/tree-inline.c:1128 0x111e516 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hashset_traits>*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hashset_traits>*)) ../../src/gcc/tree.c:11092 0x12bf94f copy_tree_body ../../src/gcc/tree-inline.c:2966 0x12bf94f copy_fn(tree_node*, tree_node*&, tree_node*&) ../../src/gcc/tree-inline.c:6044 0xd9d380 cxx_eval_call_expression ../../src/gcc/cp/constexpr.c:1387 0xd98d6c cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3162 0xd99479 cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3220 0xd98a7e cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3313 0xd9d150 cxx_bind_parameters_in_call ../../src/gcc/cp/constexpr.c:1115 0xd9d150 cxx_eval_call_expression ../../src/gcc/cp/constexpr.c:1305 0xd98d6c cxx_eval_constant_expression ../../src/gcc/cp/constexpr.c:3162 0xd984ad cxx_eval_outermost_constant_expr ../../src/gcc/cp/constexpr.c:3688 0xd0ca78 convert_nontype_argument ../../src/gcc/cp/pt.c:5917 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. Preprocessed file: attached --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- dup. *** This bug has been marked as a duplicate of bug 66460 ***