Bug#947107: iwyu: crash (SIGABRT): Assertion failed: Cycle in include-mapping

Paul Wise pabs at debian.org
Sat Dec 21 03:25:01 GMT 2019


Package: iwyu
Version: 8.0-2
Severity: normal
File: /usr/bin/include-what-you-use
Usertags: crash

I found a case that crashes iwyu with a SIGABRT:

$ sudo apt -qq install libboost-python-dev libboost-dev

$ echo '#include <boost/python/detail/type_list_impl.hpp>' > foo.cpp

$ gdb -batch -n -ex 'set pagination off' -ex run -ex bt -ex 'bt full' -ex 'thread apply all bt full' --args include-what-you-use foo.cpp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Cycle in include-mapping:
  <boost/python/detail/type_list_impl.hpp> ->
  <boost/preprocessor/iteration/detail/iter/forward1.hpp> ->
  <boost/preprocessor/iteration/detail/iter/forward1.hpp>
/build/iwyu-oe4HdZ/iwyu-8.0/iwyu_include_picker.cc:928: Assertion failed: Cycle in include-mapping

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff3ef7535 in __GI_abort () at abort.c:79
#2  0x000055555570ee58 in include_what_you_use::FatalMessageEmitter::~FatalMessageEmitter() ()
#3  0x0000555555933969 in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#4  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#5  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#6  0x0000555555933bc2 in include_what_you_use::(anonymous namespace)::MakeMapTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*) ()
#7  0x00005555559356f4 in include_what_you_use::IncludePicker::FinalizeAddedIncludes() ()
#8  0x000055555596bcff in include_what_you_use::IwyuPreprocessorInfo::HandlePreprocessingDone() ()
#9  0x0000555555720ae5 in include_what_you_use::IwyuAstConsumer::HandleTranslationUnit(clang::ASTContext&) ()
#10 0x0000555556392393 in clang::ParseAST(clang::Sema&, bool, bool) ()
#11 0x000055555616312f in clang::FrontendAction::Execute() ()
#12 0x0000555556122ca8 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()
#13 0x00005555557225f6 in main ()
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 0, 140737287603840, 0, 10, 0, 895, 0, 0, 281470681751424, 0, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff3ef7535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x1700000014, sa_sigaction = 0x1700000014}, sa_mask = {__val = {4294967321, 103079215120, 47244640260, 55834574858, 64424509462, 140737488343792, 140737288834472, 10, 10, 140737488343792, 140737288834906, 1, 140737287603840, 140737287607648, 140737286259626, 140737289557536}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x000055555570ee58 in include_what_you_use::FatalMessageEmitter::~FatalMessageEmitter() ()
No symbol table info available.
#3  0x0000555555933969 in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#4  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#5  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#6  0x0000555555933bc2 in include_what_you_use::(anonymous namespace)::MakeMapTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*) ()
No symbol table info available.
#7  0x00005555559356f4 in include_what_you_use::IncludePicker::FinalizeAddedIncludes() ()
No symbol table info available.
#8  0x000055555596bcff in include_what_you_use::IwyuPreprocessorInfo::HandlePreprocessingDone() ()
No symbol table info available.
#9  0x0000555555720ae5 in include_what_you_use::IwyuAstConsumer::HandleTranslationUnit(clang::ASTContext&) ()
No symbol table info available.
#10 0x0000555556392393 in clang::ParseAST(clang::Sema&, bool, bool) ()
No symbol table info available.
#11 0x000055555616312f in clang::FrontendAction::Execute() ()
No symbol table info available.
#12 0x0000555556122ca8 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()
No symbol table info available.
#13 0x00005555557225f6 in main ()
No symbol table info available.

Thread 1 (Thread 0x7ffff3c91740 (LWP 404180)):
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 0, 140737287603840, 0, 10, 0, 895, 0, 0, 281470681751424, 0, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff3ef7535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x1700000014, sa_sigaction = 0x1700000014}, sa_mask = {__val = {4294967321, 103079215120, 47244640260, 55834574858, 64424509462, 140737488343792, 140737288834472, 10, 10, 140737488343792, 140737288834906, 1, 140737287603840, 140737287607648, 140737286259626, 140737289557536}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x000055555570ee58 in include_what_you_use::FatalMessageEmitter::~FatalMessageEmitter() ()
No symbol table info available.
#3  0x0000555555933969 in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#4  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#5  0x0000555555933a6e in include_what_you_use::(anonymous namespace)::MakeNodeTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, include_what_you_use::(anonymous namespace)::TransitiveStatus, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, include_what_you_use::(anonymous namespace)::TransitiveStatus> > >*, 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> > > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#6  0x0000555555933bc2 in include_what_you_use::(anonymous namespace)::MakeMapTransitive(std::map<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> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > > > > >*) ()
No symbol table info available.
#7  0x00005555559356f4 in include_what_you_use::IncludePicker::FinalizeAddedIncludes() ()
No symbol table info available.
#8  0x000055555596bcff in include_what_you_use::IwyuPreprocessorInfo::HandlePreprocessingDone() ()
No symbol table info available.
#9  0x0000555555720ae5 in include_what_you_use::IwyuAstConsumer::HandleTranslationUnit(clang::ASTContext&) ()
No symbol table info available.
#10 0x0000555556392393 in clang::ParseAST(clang::Sema&, bool, bool) ()
No symbol table info available.
#11 0x000055555616312f in clang::FrontendAction::Execute() ()
No symbol table info available.
#12 0x0000555556122ca8 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()
No symbol table info available.
#13 0x00005555557225f6 in main ()
No symbol table info available.



-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages iwyu depends on:
ii  clang       1:8.0-48.3
ii  clang-7     1:7.0.1-9+b2
ii  clang-8     1:8.0.1-4
ii  clang-9     1:9.0.0-4
ii  libc6       2.29-3
ii  libllvm8    1:8.0.1-4
ii  libstdc++6  9.2.1-21
ii  python      2.7.17-2

iwyu recommends no packages.

iwyu suggests no packages.

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/pkg-llvm-team/attachments/20191221/84fc64c0/attachment.sig>


More information about the Pkg-llvm-team mailing list