https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86099
--- Comment #1 from darpeer at hotmail dot com --- Created attachment 44255 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44255&action=edit Compresses source file. /tmp/file.prepro.cpp: In instantiation of ‘constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = llvm::StringRef; _T2 = unsigned int]’: /tmp/file.prepro.cpp:3234:12: required from ‘struct std::__is_nt_constructible_impl<std::pair<llvm::StringRef, unsigned int>, std::pair<llvm::StringRef, unsigned int>&&>’ /tmp/file.prepro.cpp:2621:12: required from ‘struct std::__and_<std::is_constructible<std::pair<llvm::StringRef, unsigned int>, std::pair<llvm::StringRef, unsigned int>&&>, std::__is_nt_constructible_impl<std::pair<llvm::StringRef, unsigned int>, std::pair<llvm::StringRef, unsigned int>&&> >’ /tmp/file.prepro.cpp:3244:12: required from ‘struct std::is_nothrow_constructible<std::pair<llvm::StringRef, unsigned int>, std::pair<llvm::StringRef, unsigned int>&&>’ /tmp/file.prepro.cpp:3268:12: required from ‘struct std::__is_nothrow_move_constructible_impl<std::pair<llvm::StringRef, unsigned int>, true>’ /tmp/file.prepro.cpp:3273:12: required from ‘struct std::is_nothrow_move_constructible<std::pair<llvm::StringRef, unsigned int> >’ /tmp/file.prepro.cpp:2630:31: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /tmp/file.prepro.cpp:4422:12: required from ‘struct std::__move_if_noexcept_cond<std::pair<llvm::StringRef, unsigned int> >’ /tmp/file.prepro.cpp:8568:26: required by substitution of ‘template<class _Tp, class _ReturnType> _ReturnType std::__make_move_if_noexcept_iterator(_Tp*) [with _Tp = std::pair<llvm::StringRef, unsigned int>; _ReturnType = <missing>]’ /tmp/file.prepro.cpp:12864:40: required from ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = std::pair<llvm::StringRef, unsigned int>*; _ForwardIterator = std::pair<llvm::StringRef, unsigned int>*; _Allocator = std::allocator<std::pair<llvm::StringRef, unsigned int> >]’ /tmp/file.prepro.cpp:38837:6: required from ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const char*, unsigned int}; _Tp = std::pair<llvm::StringRef, unsigned int>; _Alloc = std::allocator<std::pair<llvm::StringRef, unsigned int> >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::pair<llvm::StringRef, unsigned int>*, std::vector<std::pair<llvm::StringRef, unsigned int> > >; typename std::_Vector_base<_Tp, _Alloc>::pointer = std::pair<llvm::StringRef, unsigned int>*]’ /tmp/file.prepro.cpp:38560:4: required from ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {const char*, unsigned int}; _Tp = std::pair<llvm::StringRef, unsigned int>; _Alloc = std::allocator<std::pair<llvm::StringRef, unsigned int> >]’ /tmp/file.prepro.cpp:105254:63: required from here /tmp/file.prepro.cpp:6644:12: internal compiler error: in cx_check_missing_mem_inits, at cp/constexpr.c:815 struct pair ^~~~ 0x5e955e cx_check_missing_mem_inits ../../../source/gcc/gcc/cp/constexpr.c:814 0x85af8c register_constexpr_fundef(tree_node*, tree_node*) ../../../source/gcc/gcc/cp/constexpr.c:874 0x899a02 maybe_save_function_definition ../../../source/gcc/gcc/cp/decl.c:15585 0x899a02 finish_function(bool) ../../../source/gcc/gcc/cp/decl.c:15716 0x8f0fea synthesize_method(tree_node*) ../../../source/gcc/gcc/cp/method.c:941 0x965ae3 instantiate_decl(tree_node*, bool, bool) ../../../source/gcc/gcc/cp/pt.c:24008 0x84d23f instantiate_cx_fn_r ../../../source/gcc/gcc/cp/constexpr.c:4833 0x112faab walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11406 0x11301cf walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11722 0x112f620 walk_tree_without_duplicates_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11748 0x85657d instantiate_constexpr_fns ../../../source/gcc/gcc/cp/constexpr.c:4852 0x85657d is_sub_constant_expr(tree_node*) ../../../source/gcc/gcc/cp/constexpr.c:5003 0x8c5397 check_noexcept_r ../../../source/gcc/gcc/cp/except.c:1044 0x112faab walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11406 0x112fe23 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11632 0x112f620 walk_tree_without_duplicates_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../../source/gcc/gcc/tree.c:11748 0x8c4fdf expr_noexcept_p(tree_node*, int) ../../../source/gcc/gcc/cp/except.c:1122 0x8c5168 finish_noexcept_expr(tree_node*, int) ../../../source/gcc/gcc/cp/except.c:1107 0x95d7e7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../../source/gcc/gcc/cp/pt.c:18096 0x968f87 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) ../../../source/gcc/gcc/cp/pt.c:17414 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.