[llvm-bugs] [Bug 44453] New: Clang segfault on invalid range v3 code range-based for loop

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jan 3 11:09:38 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=44453

            Bug ID: 44453
           Summary: Clang segfault on invalid range v3 code range-based
                    for loop
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++17
          Assignee: unassignedclangbugs at nondot.org
          Reporter: arghnews at hotmail.co.uk
                CC: blitzrakete at gmail.com, erik.pilkington at gmail.com,
                    llvm-bugs at lists.llvm.org, richard-llvm at metafoo.co.uk

Created attachment 22979
  --> https://bugs.llvm.org/attachment.cgi?id=22979&action=edit
Crash backtrace, preprocessed source, and associated run script

Using clang 10.0.0 - 40668abca4d307e02b33345cfdb7271549ff48d0

Using this piece of invalid code:



#include <range/v3/view/all.hpp>
#include <string>
#include <vector>
#include <range/v3/all.hpp>
int main (int /*argc*/, char** /*argv*/)
{
  std::vector<std::string> words{"hi", "there"};

  auto by_first_letter = ranges::group_by_view(ranges::views::all(words),
      [] () {}
      );

  for (const auto _: by_first_letter) {}
}



causes a segfault in clang.

Ranges library used is
https://github.com/ericniebler/range-v3/releases/tag/0.10.0
Version 0.10.0

I apologise if this is a duplicate or there is missing information that is
obvious but I am out of my depth somewhat here.

Below I have pasted a redacted version of the crash report output. The full
length one is included in the attachment but I cannot paste it here due to the
character limit.



t2.cpp:15:19: warning: unused variable '_' [-Wunused-variable]
  for (const auto _: by_first_letter) {}
                  ^
In file included from t2.cpp:5:
In file included from /usr/local/include/range/v3/all.hpp:25:
In file included from /usr/local/include/range/v3/view.hpp:46:
/usr/local/include/range/v3/view/group_by.hpp:86:28: error: no matching
function for call to object of type 'const ranges::invoke_fn'
                    return invoke(fun_, *first_, r);
                           ^~~~~~
/usr/local/include/range/v3/functional/invoke.hpp:136:20: note: in
instantiation of member function
'ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at
t2.cpp:12:7)>::cursor<false>::pred::operator()' requested here
            return ((F&&) f)((Args&&) args...);
                   ^
/usr/local/include/range/v3/view/group_by.hpp:104:24: note: in instantiation of
function template specialization
'ranges::find_if_not_fn::operator()<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::pred,
ranges::identity>' requested here
                cur_ = find_if_not(cur_, last_, pred{cur_, fun_});
                       ^
/usr/local/include/range/v3/detail/range_access.hpp:128:24: note: in
instantiation of member function
'ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::next'
requested here
            return pos.next()
                       ^
/usr/local/include/concepts/concepts.hpp:554:27: note: expanded from macro
'CPP_auto_fun'
#define CPP_auto_fun(X) X CPP_AUTO_FUN_IMPL_
                          ^
/usr/local/include/concepts/concepts.hpp:555:47: note: expanded from macro
'CPP_AUTO_FUN_IMPL_'
#define CPP_AUTO_FUN_IMPL_(...) (__VA_ARGS__) CPP_AUTO_FUN_RETURNS_
                                              ^
/usr/local/include/range/v3/functional/invoke.hpp:115:24: note: candidate
template ignored: could not match 'F T::*' against
'semiregular_box_ref_or_val_t<(lambda at t2.cpp:12:7), false>' (aka
'ranges::reference_wrapper<ranges::semiregular_box<(lambda at t2.cpp:12:7)> >')
        constexpr auto operator()(F T::*f, T1&& t1, Args&&... args) const
                       ^
/usr/local/include/range/v3/functional/invoke.hpp:132:14: note: candidate
template ignored: substitution failure [with F = const
ranges::reference_wrapper<ranges::semiregular_box<(lambda at t2.cpp:12:7)> > &,
Args = <std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > &, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > &>]: no matching function for
call to object of type 'const
ranges::reference_wrapper<ranges::semiregular_box<(lambda at t2.cpp:12:7)> >'
        auto operator()(F&& f, Args&&... args) const
             ^
/usr/local/include/range/v3/functional/invoke.hpp:123:24: note: candidate
function template not viable: requires 2 arguments, but 3 were provided
        constexpr auto operator()(D T::*f, T1&& t1) const
                       ^
Stack dump:
0.      Program arguments: /usr/local/bin/clang-10 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name t2.cpp
-mrelocation-model static -mthread-model posix -mframe-pointer=all -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array
-target-cpu znver1 -target-feature +sse2 -target-feature +cx16 -target-feature
+sahf -target-feature -tbm -target-feature -avx512ifma -target-feature +sha
-target-feature -gfni -target-feature -fma4 -target-feature -vpclmulqdq
-target-feature +prfchw -target-feature +bmi2 -target-feature -cldemote
-target-feature +fsgsbase -target-feature -ptwrite -target-feature +xsavec
-target-feature +popcnt -target-feature +aes -target-feature -avx512bitalg
-target-feature -movdiri -target-feature +xsaves -target-feature -avx512er
-target-feature -avx512vnni -target-feature -avx512vpopcntdq -target-feature
-pconfig -target-feature -clwb -target-feature -avx512f -target-feature +clzero
-target-feature -pku -target-feature +mmx -target-feature -lwp -target-feature
-rdpid -target-feature -xop -target-feature +rdseed -target-feature -waitpkg
-target-feature -movdir64b -target-feature +sse4a -target-feature -avx512bw
-target-feature +clflushopt -target-feature +xsave -target-feature -avx512vbmi2
-target-feature +64bit -target-feature -avx512vl -target-feature -invpcid
-target-feature -avx512cd -target-feature +avx -target-feature -vaes
-target-feature +cx8 -target-feature +fma -target-feature -rtm -target-feature
+bmi -target-feature -enqcmd -target-feature +rdrnd -target-feature +mwaitx
-target-feature +sse4.1 -target-feature +sse4.2 -target-feature +avx2
-target-feature +fxsr -target-feature -wbnoinvd -target-feature +sse
-target-feature +lzcnt -target-feature +pclmul -target-feature -prefetchwt1
-target-feature +f16c -target-feature +ssse3 -target-feature -sgx
-target-feature -shstk -target-feature +cmov -target-feature -avx512vbmi
-target-feature -avx512bf16 -target-feature +movbe -target-feature +xsaveopt
-target-feature -avx512dq -target-feature +adx -target-feature -avx512pf
-target-feature +sse3 -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -resource-dir /usr/local/lib/clang/10.0.0
-internal-isystem /usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/x86_64-linux-gnu/c++/8
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/x86_64-linux-gnu/c++/8
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/backward
-internal-isystem /usr/local/include -internal-isystem
/usr/local/lib/clang/10.0.0/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -Wall -Wextra -Wfloat-equal
-Wwrite-strings -Wswitch-enum -Wunreachable-code -Wconversion -Wcast-qual
-Wstrict-overflow=5 -Werror=shadow -Werror=return-type -Wuninitialized -Weffc++
-pedantic -std=c++17 -fdeprecated-macro -fdebug-compilation-dir
/home/justin/cpp/wordsearch_solvercp/trie/clang_crash_ranges_v3 -ferror-limit
19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -faddrsig -o /tmp/t2-6ce2ff.o -x c++
t2.cpp 
1.      <eof> parser at end of file
2.      /usr/local/include/range/v3/view/group_by.hpp:96:18: instantiating
function definition
'ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::read'
3.      /usr/local/include/range/v3/view/take_while.hpp:97:19: instantiating
function definition
'ranges::take_while_view<ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>,
ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at
t2.cpp:12:7)>::cursor<false>::pred>::take_while_view'
4.      /usr/local/include/range/v3/view/take_while.hpp:87:19: instantiating
function definition
'ranges::iter_take_while_view<ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>,
ranges::indirected<ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::pred>
>::iter_take_while_view'
5.      /usr/local/include/concepts/concepts.hpp:745:23: instantiating function
definition
'concepts::detail::and_<concepts::detail::and_<concepts::detail::boolean_<concepts::defs::defer::(lambda
at /usr/local/include/concepts/concepts.hpp:1174:17)>,
concepts::detail::boolean_<ranges::detail::defer::(lambda at
/usr/local/include/range/v3/view/subrange.hpp:176:17)> >,
std::integral_constant<bool, true> >::operator bool'
6.      /usr/local/include/concepts/concepts.hpp:745:23: instantiating function
definition
'concepts::detail::and_<concepts::detail::boolean_<concepts::defs::defer::(lambda
at /usr/local/include/concepts/concepts.hpp:1174:17)>,
concepts::detail::boolean_<ranges::detail::defer::(lambda at
/usr/local/include/range/v3/view/subrange.hpp:176:17)> >::operator bool'
7.      /usr/local/include/concepts/concepts.hpp:741:35: instantiating function
definition
'concepts::detail::and_<concepts::detail::boolean_<concepts::defs::defer::(lambda
at /usr/local/include/concepts/concepts.hpp:1174:17)>,
concepts::detail::boolean_<ranges::detail::defer::(lambda at
/usr/local/include/range/v3/view/subrange.hpp:176:17)> >::impl'
8.      /usr/local/include/concepts/concepts.hpp:818:23: instantiating function
definition 'concepts::detail::boolean_<ranges::detail::defer::(lambda at
/usr/local/include/range/v3/view/subrange.hpp:176:17)>::operator bool<true>'
9.      /usr/local/include/range/v3/view/subrange.hpp:176:17
<Spelling=/usr/local/include/concepts/concepts.hpp:255:13>: instantiating
function definition 'ranges::detail::defer::(anonymous
class)::operator()<std::integral_constant<bool, true> >'
10.     /usr/local/include/range/v3/view/subrange.hpp:157:26: instantiating
variable definition
'ranges::detail::pair_like_convertible_from_<ranges::view_adaptor<ranges::iter_take_while_view<ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>,
ranges::indirected<ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::pred> >,
ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>, ranges::finite>, const
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > &, const
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > &>'
11.     /usr/local/include/range/v3/range/concepts.hpp:79:22: instantiating
variable definition
'ranges::range<ranges::view_adaptor<ranges::iter_take_while_view<ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>,
ranges::indirected<ranges::group_by_view<ranges::ref_view<std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, (lambda at t2.cpp:12:7)>::cursor<false>::pred> >,
ranges::subrange<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > *,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
ranges::subrange_kind::sized>, ranges::finite> >'

... [Removed, see attachment] ...

#239 0x0000563f9621e549 clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)
(/usr/local/bin/clang-10+0x5e8a549)
#240 0x0000563f961e35c8
clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*,
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&,
llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool,
llvm::function_ref<bool ()>) (/usr/local/bin/clang-10+0x5e4f5c8)
#241 0x0000563f961e888c
clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool,
llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)
(/usr/local/bin/clang-10+0x5e5488c)
#242 0x0000563f960cd2fd
clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool,
clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder)
(/usr/local/bin/clang-10+0x5d392fd)
#243 0x0000563f960cfa25
clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool)
(/usr/local/bin/clang-10+0x5d3ba25)
#244 0x0000563f960cfd38 clang::Sema::buildOverloadedCallSet(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation,
clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*)
(/usr/local/bin/clang-10+0x5d3bd38)
#245 0x0000563f960d38d1 clang::Sema::BuildOverloadedCallExpr(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) (/usr/local/bin/clang-10+0x5d3f8d1)
#246 0x0000563f95f096fc clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool) (/usr/local/bin/clang-10+0x5b756fc)
#247 0x0000563f961faa54 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/usr/local/bin/clang-10+0x5e66a54)
#248 0x0000563f961f4da7 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/usr/local/bin/clang-10+0x5e60da7)
#249 0x0000563f961fd213 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) (/usr/local/bin/clang-10+0x5e69213)
#250 0x0000563f96200782 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*)
(/usr/local/bin/clang-10+0x5e6c782)
#251 0x0000563f96202a25 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool) (/usr/local/bin/clang-10+0x5e6ea25)
#252 0x0000563f96205e02 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName)
(/usr/local/bin/clang-10+0x5e71e02)
#253 0x0000563f961fe1cb clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) (/usr/local/bin/clang-10+0x5e6a1cb)
#254 0x0000563f9620bd39 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&,
clang::ElaboratedTypeLoc) (/usr/local/bin/clang-10+0x5e77d39)
#255 0x0000563f961fdd1e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) (/usr/local/bin/clang-10+0x5e69d1e)
clang-10: error: unable to execute command: Segmentation fault (core dumped)
clang-10: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 10.0.0 (https://github.com/llvm/llvm-project.git
40668abca4d307e02b33345cfdb7271549ff48d0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
clang-10: note: diagnostic msg: PLEASE submit a bug report to
https://bugs.llvm.org/ and include the crash backtrace, preprocessed source,
and associated run script.
clang-10: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-10: note: diagnostic msg: /tmp/t2-af9bd7.cpp
clang-10: note: diagnostic msg: /tmp/t2-af9bd7.sh
clang-10: note: diagnostic msg: 

********************

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200103/2ba44bb1/attachment-0001.html>


More information about the llvm-bugs mailing list