LDC 1.3.x/1.4.x + LLVM 4.0/5.0 results in compiler crashes when building rdeps #2300

Closed
ximion opened this Issue Aug 31, 2017 · 50 comments

Comments

Projects
None yet
5 participants
Contributor

ximion commented Aug 31, 2017

Hi!
We just updated to LDC 1.3.x in Debian a few days ago, which is using LLVM 4 as well now (3.9 was default previously).

While LDC itself built well (bootstrap from scratch), we now get mass build failures in reverse-dependencies of LDC (status being tracked at https://release.debian.org/transitions/html/auto-ldc.html).

See for example the diet-ng build on amd64: https://buildd.debian.org/status/fetch.php?pkg=diet-ng&arch=amd64&ver=1.4.2-1%2Bb1&stamp=1504166958&raw=0

FAILED: diet@sha/source_diet_dom.d.o 
ldc2  -Idiet@sha -I. -I.. -I../source/ -enable-color -O -release -g -relocation-model=pic  -of 'diet@sha/source_diet_dom.d.o' -c ../source/diet/dom.d
0  libLLVM-4.0.so.1 0x00007feb04b47f45 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  libLLVM-4.0.so.1 0x00007feb04b461a6 llvm::sys::RunSignalHandlers() + 86
2  libLLVM-4.0.so.1 0x00007feb04b462c3
3  libpthread.so.0  0x00007feb03dae0c0
4  libLLVM-4.0.so.1 0x00007feb050e0a8b
5  libLLVM-4.0.so.1 0x00007feb050e0ec4
6  libLLVM-4.0.so.1 0x00007feb050e27b3 llvm::DbgVariable::getFrameIndexExprs() const + 163
7  libLLVM-4.0.so.1 0x00007feb050daad1 llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) + 689
8  libLLVM-4.0.so.1 0x00007feb050dae5c llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&, bool) + 12
9  libLLVM-4.0.so.1 0x00007feb050dae83 llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&, llvm::LexicalScope const&, llvm::DIE*&) + 19
10 libLLVM-4.0.so.1 0x00007feb050de8c1 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 289
11 libLLVM-4.0.so.1 0x00007feb050de541 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 401
12 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
13 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
14 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
15 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
16 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
17 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
18 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
19 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
20 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
21 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
22 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
23 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
24 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
25 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
26 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
27 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
28 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
29 libLLVM-4.0.so.1 0x00007feb050de463 llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&) + 179
30 libLLVM-4.0.so.1 0x00007feb050de922 llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*, llvm::SmallVectorImpl<llvm::DIE*>&, unsigned int*) + 386
31 libLLVM-4.0.so.1 0x00007feb050dea2f llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 47
32 libLLVM-4.0.so.1 0x00007feb050deace llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*, llvm::LexicalScope*) + 46
33 libLLVM-4.0.so.1 0x00007feb050ed5e4 llvm::DwarfDebug::endFunction(llvm::MachineFunction const*) + 900
34 libLLVM-4.0.so.1 0x00007feb050bc4b0 llvm::AsmPrinter::EmitFunctionBody() + 3696
35 libLLVM-4.0.so.1 0x00007feb061b727c
36 libLLVM-4.0.so.1 0x00007feb04d89950 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 144
37 libLLVM-4.0.so.1 0x00007feb04c144c8 llvm::FPPassManager::runOnFunction(llvm::Function&) + 600
38 libLLVM-4.0.so.1 0x00007feb04c14513 llvm::FPPassManager::runOnModule(llvm::Module&) + 51
39 libLLVM-4.0.so.1 0x00007feb04c13daf llvm::legacy::PassManagerImpl::run(llvm::Module&) + 767
40 ldc2             0x000055627ecc6e7b
41 ldc2             0x000055627ecc744d
42 ldc2             0x000055627ecc3a63
43 ldc2             0x000055627ecc3ddd
44 ldc2             0x000055627ec9ced9
45 ldc2             0x000055627eb8ea0d
46 ldc2             0x000055627ec9f72a
47 ldc2             0x000055627ecea35f
48 ldc2             0x000055627ecea324
49 ldc2             0x000055627ecea250
50 libc.so.6        0x00007feb031862e1 __libc_start_main + 241
51 ldc2             0x000055627ea447ea
Segmentation fault

As usual, this is annoying to reproduce locally, but I did manage to do that in a pristine amd64 chroot once. To me, it appears like this might actually be a bug in LLVM.
We primarily experience this bug on amd64 and other arches, i386 seems to be safe from it.
Have you seen this with LDC before? I think I can work on generating a better backtrace, probably later next week (or at the weekend if I find the time).

Owner

klickverbot commented Aug 31, 2017

To me, it appears like this might actually be a bug in LLVM.

It might well be, or it might turn out that we hit an assertion when building with them enabled – the debug info interface is not very well-documented or intuitive to use and has been a constant source of trouble (cf. all the other recent debug info issues).

Have you seen this with LDC before? I think I can work on generating a better backtrace, probably later next week (or at the weekend if I find the time).

I don't think there is an issue open for it, and personally haven't seen it before.

Contributor

ximion commented Aug 31, 2017

Okay :-)

Backtrace of LDC-related stuff:

[...]                                                                                                                                                                                                                                 
#35 0x00007f8361bfadaf in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /usr/lib/x86_64-linux-gnu/libLLVM-4.0.so.1                                                                                                                                                 
No symbol table info available.                                                                                                                                                                                                                                                
#36 0x00005555558f5e7b in codegenModule (Target=..., m=..., out=..., fileType=fileType@entry=llvm::TargetMachine::CGFT_ObjectFile) at ./driver/toobj.cpp:133                                                                                                                   
        Passes = <incomplete type>                                                                                                                                                                                                                                             
        cb = ComputeBackend::None                                                                                                                                                                                                                                              
#37 0x00005555558f644d in (anonymous namespace)::writeObjectFile (filename=0x555555ccd380 "diet@sha/source_diet_dom.d.o", m=0x555557cc1400) at ./driver/toobj.cpp:386                                                                                                          
        out = <incomplete type>                                                                                                                                                                                                                                                
        errinfo = {_M_value = 0, _M_cat = 0x7f8360d80b40}                                                                                                                                                                                                                      
#38 writeModule (m=m@entry=0x555557cc1400, filename=filename@entry=0x555555ccd380 "diet@sha/source_diet_dom.d.o") at ./driver/toobj.cpp:570
        useIR2ObjCache = <optimized out>
        moduleHash = {<llvm::SmallVector<char, 32>> = {<llvm::SmallVectorImpl<char>> = {<llvm::SmallVectorTemplateBase<char, true>> = {<llvm::SmallVectorTemplateCommon<char, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffd798, EndX = 0x7fffffffd798, 
                    CapacityX = 0x7fffffffd7b8}, FirstEl = {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "["}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = "n"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>} <repeats 11 times>, {<llvm::AlignedCharArray<1, 1>> = {buffer = "\320"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = "\276"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "O"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "X"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "U"}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = "U"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}}}}, <No data fields>}
        directory = {static npos = 18446744073709551615, Data = 0x555555ccd380 "diet@sha/source_diet_dom.d.o", Length = 8}
        outputFlags = {_M_array = 0x7fffffffd730, _M_len = 4}
        replaceExtensionWith = {__numOutputFiles = <optimized out>, __filename = 0x555555ccd380 "diet@sha/source_diet_dom.d.o"}
#39 0x00005555558f2a63 in ldc::CodeGenerator::writeAndFreeLLModule (this=0x7fffffffdb10, filename=0x555555ccd380 "diet@sha/source_diet_dom.d.o") at ./driver/codegenerator.cpp:271
        IdentMetadata = 0x55555816fa00
        Version = "ldc version 1.3.0"
        IdentNode = {0x5555584fbed0}
        diagnosticsOutputFile = std::unique_ptr<llvm::tool_output_file> containing 0x0
#40 0x00005555558f2ddd in ldc::CodeGenerator::emit (this=this@entry=0x7fffffffdb10, m=0x7f83644add30) at ./driver/codegenerator.cpp:345
No locals.
#41 0x00005555558cbed9 in codegenModules (modules=...) at ./driver/main.cpp:1103
        m = 0x7f83644add30
        atCompute = DComputeCompileFor::hostOnly
        i = 0
        cg = {context_ = @0x555555caccb0, moduleCount_ = 1, singleObj_ = false, ir_ = 0x555557cc1400}
        dccg = {ctx = @0x555555caccb0, targets = {<llvm::SmallVectorImpl<DComputeTarget*>> = {<llvm::SmallVectorTemplateBase<DComputeTarget*, true>> = {<llvm::SmallVectorTemplateCommon<DComputeTarget*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffdb70, 
                    EndX = 0x7fffffffdb70, CapacityX = 0x7fffffffdb80}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {
                {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\267\062_\203\177\000"}, <No data fields>}}}}}
        computeModules = std::vector of length 0, capacity 0
#42 0x00005555557bda0d in mars_mainBody(Array<char const*>&, Array<char const*>&) ()
No symbol table info available.
#43 0x00005555558ce72a in cppmain (argc=<optimized out>, argv=<optimized out>) at ./driver/main.cpp:1072
        helpOnly = false
        files = {dim = 1, data = 0x7fffffffdd58, allocdim = 1, smallarray = {0x555555cabb70 "../source/diet/dom.d"}}
        bitness = <optimized out>
        DL = {BigEndian = false, StackNaturalAlign = 16, ManglingMode = llvm::DataLayout::MM_ELF, 
          LegalIntWidths = {<llvm::SmallVectorImpl<unsigned char>> = {<llvm::SmallVectorTemplateBase<unsigned char, true>> = {<llvm::SmallVectorTemplateCommon<unsigned char, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555555c57008 <cppmain(int, char**)::DL+40>, 
                    EndX = 0x555555c5700c <cppmain(int, char**)::DL+44>, CapacityX = 0x555555c57010 <cppmain(int, char**)::DL+48>}, FirstEl = {<llvm::AlignedCharArray<1, 1>> = {buffer = "\b"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {
              InlineElts = {{<llvm::AlignedCharArray<1, 1>> = {buffer = "\020"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = " "}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "@"}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = ""}, <No data fields>}}}}, 
          Alignments = {<llvm::SmallVectorImpl<llvm::LayoutAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::LayoutAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::LayoutAlignElem, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c57028 <cppmain(int, char**)::DL+72>, EndX = 0x555555c57090 <cppmain(int, char**)::DL+176>, CapacityX = 0x555555c570a8 <cppmain(int, char**)::DL+200>}, FirstEl = {<llvm::AlignedCharArray<4, 8>> = {
                      buffer = "i\001\000\000\001\000\001"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 8>> = {buffer = "i\b\000\000\001\000\001"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "i\020\000\000\002\000\002"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i@\000\000\b\000\b"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "f\020\000\000\002\000\002"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "f@\000\000\b\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f\200\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "v@\000\000\b\000\b"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "v\200\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "a\000\000\000\000\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "fP\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}}}, StringRepresentation = "e-m:e-i64:64-f80:128-n8:16:32:64-S128", 
          Pointers = {<llvm::SmallVectorImpl<llvm::PointerAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::PointerAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::PointerAlignElem, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c570e0 <cppmain(int, char**)::DL+256>, EndX = 0x555555c570f0 <cppmain(int, char**)::DL+272>, CapacityX = 0x555555c57160 <cppmain(int, char**)::DL+384>}, FirstEl = {<llvm::AlignedCharArray<4, 16>> = {
                      buffer = "\b\000\000\000\b\000\000\000\b\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {
                    buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}}}}, static InvalidAlignmentElem = {AlignType = 0, TypeBitWidth = 0, ABIAlign = 0, PrefAlign = 0}, static InvalidPointerElem = {ABIAlign = 0, PrefAlign = 0, 
            TypeByteWidth = 0, AddressSpace = 4294967295}, LayoutMap = 0x555557cd2880, 
          NonIntegralAddressSpaces = {<llvm::SmallVectorImpl<unsigned int>> = {<llvm::SmallVectorTemplateBase<unsigned int, true>> = {<llvm::SmallVectorTemplateCommon<unsigned int, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c57180 <cppmain(int, char**)::DL+416>, EndX = 0x555555c57180 <cppmain(int, char**)::DL+416>, CapacityX = 0x555555c571a0 <linkDebugLib>}, FirstEl = {<llvm::AlignedCharArray<4, 4>> = {
                      buffer = "\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                    buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                    buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}}}}}
        libmodules = {dim = 0, data = 0x7fffffffde88, allocdim = 1, smallarray = {0x7f8360d7d2a8 <vtable for std::basic_streambuf<char, std::char_traits<char> >+16> "@ \262`\203\177"}}
#44 0x000055555591935f in rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function).runAll().__lambda1() ()
No symbol table info available.
#45 0x0000555555919324 in rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function).tryExec(scope void() delegate) ()
No symbol table info available.
#46 0x0000555555919250 in _d_run_main ()
No symbol table info available.
#47 0x00007f836016d2e1 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#48 0x00005555556737ea in _start ()
No symbol table info available.
Contributor

ximion commented Aug 31, 2017

And here is the full version, with all the debug symbols (should probably have used pastebin, but this way the data will always be available in this report and not time out):

Command: ldc2 -Idiet@sha -I. -I.. -I../source/ -enable-color -O -release -g -relocation-model=pic -of 'diet@sha/source_diet_dom.d.o' -c ../source/diet/dom.d

#0  0x00007fbdb855fa8b in llvm::DbgVariable::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)>::operator() (__closure=<optimized out>, A=<synthetic pointer>..., B=...)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:205
No locals.
#1  __gnu_cxx::__ops::_Val_comp_iter<llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> >::operator()<llvm::DbgVariable::FrameIndexExpr, llvm::DbgVariable::FrameIndexExpr*> (
    this=<optimized out>, __it=0x555557d039e0, __val=<synthetic pointer>...) at /usr/include/c++/7/bits/predefined_ops.h:215
No locals.
#2  std::__unguarded_linear_insert<llvm::DbgVariable::FrameIndexExpr*, __gnu_cxx::__ops::_Val_comp_iter<llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> > >(llvm::DbgVariable::FrameIndexExpr *) (__last=0x555557d039f0, __last@entry=0x555557d03a00, __comp=...) at /usr/include/c++/7/bits/stl_algo.h:1828
        __val = {FI = 5, Expr = 0x555557ce8ad0}
        __next = 0x555557d039e0
#3  0x00007fbdb855fec4 in std::__insertion_sort<llvm::DbgVariable::FrameIndexExpr*, __gnu_cxx::__ops::_Iter_comp_iter<llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> > >(llvm::DbgVariable::FrameIndexExpr *, llvm::DbgVariable::FrameIndexExpr *) (__first=__first@entry=0x555557d039f0, __last=__last@entry=0x555557d03a10, __comp=...) at /usr/include/c++/7/bits/stl_algo.h:1855
        __i = 0x555557d03a00
#4  0x00007fbdb85617b3 in std::__final_insertion_sort<llvm::DbgVariable::FrameIndexExpr*, __gnu_cxx::__ops::_Iter_comp_iter<llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> > > (
    __last=0x555557d03a10, __first=0x555557d039f0, __comp=...) at /usr/include/c++/7/bits/stl_algo.h:1890
No locals.
#5  std::__sort<llvm::DbgVariable::FrameIndexExpr*, __gnu_cxx::__ops::_Iter_comp_iter<llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> > > (__comp=..., __last=0x555557d03a10, 
    __first=0x555557d039f0) at /usr/include/c++/7/bits/stl_algo.h:1971
No locals.
#6  std::sort<llvm::DbgVariable::FrameIndexExpr*, llvm::DbgVariable::getFrameIndexExprs() const::<lambda(const llvm::DbgVariable::FrameIndexExpr&, const llvm::DbgVariable::FrameIndexExpr&)> > (__last=0x555557d03a10, __first=0x555557d039f0, __comp=...)
    at /usr/include/c++/7/bits/stl_algo.h:4868
No locals.
#7  llvm::DbgVariable::getFrameIndexExprs (this=this@entry=0x555558273fb0) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:203
No locals.
#8  0x00007fbdb8559ad1 in llvm::DwarfCompileUnit::constructVariableDIEImpl (this=this@entry=0x555557d1ea50, DV=..., Abstract=<optimized out>) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:530
        Fragment = <optimized out>
        __for_begin = <optimized out>
        DwarfExpr = {<llvm::DwarfExpression> = {_vptr.DwarfExpression = 0x7fbdba761448 <vtable for llvm::DIEDwarfExpression+16>, DwarfVersion = 4, OffsetInBits = 0, SubRegisterSizeInBits = 0, SubRegisterOffsetInBits = 0}, AP = @0x5555584a20e0, DU = @0x555557d1ea50, 
          DIE = @0x555558a2dc90}
#9  0x00007fbdb8559e5c in llvm::DwarfCompileUnit::constructVariableDIE (this=this@entry=0x555557d1ea50, DV=..., Abstract=<optimized out>) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:466
        D = 0x41
#10 0x00007fbdb8559e83 in llvm::DwarfCompileUnit::constructVariableDIE (this=this@entry=0x555557d1ea50, DV=..., Scope=..., ObjectPointer=@0x7fffffffbe58: 0x0) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:547
        Var = <optimized out>
#11 0x00007fbdb855d8c1 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589b81a8, Children=..., ChildScopeCount=ChildScopeCount@entry=0x0)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:559
        DV = <optimized out>
        __for_range = <unknown type in /usr/lib/debug/.build-id/a6/4fa748e9ee1de5bdced15d2de02e12d186d32c.debug, CU 0x9bb9076, DIE 0x9c7aa94>
        __for_begin = 0x7fffffffbe78
        ObjectPointer = 0x0
        ChildCountWithoutScopes = <optimized out>
#12 0x00007fbdb855d541 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589b81a8, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:326
        DS = <optimized out>
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffbf48, EndX = 0x7fffffffbf48, 
                  CapacityX = 0x7fffffffbf88}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\025\233\366\267\275\177\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\340\277\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\240\300\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\240\302\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\260\262\316WUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = " \000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = " \000\000\000\000\000\000"}, <No data fields>}}}}
        ScopeDIE = 0x555558a2dbb0
#13 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589b80c0, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc0bc)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589b80f8
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#14 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589b80c0, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 32767
        DS = 0x555558031690
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc0e8, EndX = 0x7fffffffc0e8, 
                  CapacityX = 0x7fffffffc128}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\020\020\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\301\001\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\240\270\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\313\227\266\275\177\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\372\335e\266\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "@\303\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "c\000\000\000UU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\020\000\000\000\000\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#15 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589b7fe0, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc25c)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589b8018
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#16 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589b7fe0, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 21845
        DS = 0x555557f13fd0
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc288, EndX = 0x7fffffffc288, 
                  CapacityX = 0x7fffffffc2c8}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\310\216\316WUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\270\302\377\377\377\177\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "p>\242XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\177\233XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "p>\242XUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\333\242XUU\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#17 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589b7f00, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc3fc)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589b7f38
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 1
#18 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589b7f00, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 0
        DS = 0x555558023e20
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc428, EndX = 0x7fffffffc430, 
                  CapacityX = 0x7fffffffc468}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\333\242XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "0\332\242XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\310\216\316WUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "P\352\321WUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = " !\237XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "@\262\232XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = " !\237XUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "0\333\242XUU\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#19 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589ab240, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc59c)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589ab278
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 2
#20 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589ab240, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 1
        DS = 0x55555802c3d0
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc5c8, EndX = 0x7fffffffc5d8, 
                  CapacityX = 0x7fffffffc608}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\340\332\242XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "0\333\242XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000xCTX"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\210\317qXUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\240\251YXUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\001\000\000\000\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "P\306\377\377\377\177\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#21 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589ab160, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc73c)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589ab198
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#22 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589ab160, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 1
        DS = 0x55555802c360
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc768, EndX = 0x7fffffffc768, 
                  CapacityX = 0x7fffffffc7a8}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\332\242XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\230\310\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\021\000\000\000\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\001\001\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "0\001\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\004\000\000\000\000\000\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\021\000\000\000\064\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#23 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589ab080, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffc8dc)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589ab0b8
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#24 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x5555589ab080, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 1
        DS = 0x55555802c2f0
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffc908, EndX = 0x7fffffffc908, 
                  CapacityX = 0x7fffffffc948}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\332\242XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "@\311\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = " \312\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\016\000\000\000\000\000\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "}9\370\267\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\240\313\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\220L\230XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\230M\230XUU\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#25 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x555558a12e50, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffca7c)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x555558a12e88
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#26 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x555558a12e50, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 1
        DS = 0x55555802be80
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffcaa8, EndX = 0x7fffffffcaa8, 
                  CapacityX = 0x7fffffffcae8}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\332\242XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\360\312\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\001\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\270\315\323WUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\001\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = " \314\377\377\377\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\b\000\000\000\000\000\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#27 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x555558956730, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffcc1c)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x555558956780
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#28 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x555558956730, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 0
        DS = 0x5555580215d0
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffcc48, EndX = 0x7fffffffcc60, 
                  CapacityX = 0x7fffffffcc88}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "p\267\216XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "`\331\242XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "`\332\242XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "X\207\316WUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\335\263\375\267\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "X\207\316WUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\261\263\375\267\275\177\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\207\316WUU\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#29 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x555557d17c70, Children=..., ChildScopeCount=ChildScopeCount@entry=0x7fffffffcdbc)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x555557d17ca8
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 0
#30 0x00007fbdb855d463 in llvm::DwarfCompileUnit::constructScopeDIE (this=this@entry=0x555557d1ea50, Scope=0x555557d17c70, FinalChildren=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:336
        ChildScopeCount = 21845
        DS = 0x5555580210a0
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffcde8, EndX = 0x7fffffffcde8, 
                  CapacityX = 0x7fffffffce28}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "P\352\321WUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\360\265\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "@\256\001XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\362\232XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\300b\235XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = "\200\362\232XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = " \267\216XUU\000"}, <No data fields>}}}}
        ScopeDIE = <optimized out>
#31 0x00007fbdb855d922 in llvm::DwarfCompileUnit::createScopeChildrenDIE (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589d62c0, Children=..., ChildScopeCount=ChildScopeCount@entry=0x0)
    at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:564
        LS = <optimized out>
        __for_begin = 0x5555589d62f8
        ObjectPointer = 0x0
        ChildCountWithoutScopes = 7
#32 0x00007fbdb855da2f in llvm::DwarfCompileUnit::createAndAddScopeChildren (this=this@entry=0x555557d1ea50, Scope=Scope@entry=0x5555589d62c0, ScopeDIE=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:601
        Children = {<llvm::SmallVectorImpl<llvm::DIE*>> = {<llvm::SmallVectorTemplateBase<llvm::DIE*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::DIE*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffcf68, EndX = 0x7fffffffcfa0, 
                  CapacityX = 0x7fffffffcfa8}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\360\264\216XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                  buffer = " \265\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "p\265\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\300\265\216XUU\000"}, <No data fields>}, 
              {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\266\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\320\266\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                  buffer = " \267\216XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\313vX\001U\000"}, <No data fields>}}}}
        ObjectPointer = <optimized out>
#33 0x00007fbdb855dace in llvm::DwarfCompileUnit::constructSubprogramScopeDIE (this=this@entry=0x555557d1ea50, Sub=Sub@entry=0x555558018ca8, Scope=Scope@entry=0x5555589d62c0) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:581
        ObjectPointer = <optimized out>
        ScopeDIE = @0x5555588eb420: {<llvm::IntrusiveBackListNode> = {Next = {Value = 93825042681620}}, <llvm::DIEValueList> = {List = {<llvm::IntrusiveBackListBase> = {Last = 0x5555588eb4d0}, <No data fields>}}, Offset = 0, Size = 0, AbbrevNumber = 4294967295, 
          Tag = llvm::dwarf::DW_TAG_subprogram, ForceChildren = false, Children = {<llvm::IntrusiveBackListBase> = {Last = 0x0}, <No data fields>}, Owner = {Val = {Value = 93825033955928}}}
        FnArgs = <optimized out>
#34 0x00007fbdb856c5e4 in llvm::DwarfDebug::endFunction (this=0x555558610f30, MF=0x5555589cf3d0) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1256
        SP = 0x555558018ca8
        TheCU = @0x555557d1ea50: {<llvm::DwarfUnit> = {<llvm::DIEUnit> = {Die = {<llvm::IntrusiveBackListNode> = {Next = {Value = 93825033955932}}, <llvm::DIEValueList> = {List = {<llvm::IntrusiveBackListBase> = {Last = 0x555558570ef0}, <No data fields>}}, Offset = 0, 
                Size = 0, AbbrevNumber = 4294967295, Tag = llvm::dwarf::DW_TAG_compile_unit, ForceChildren = false, Children = {<llvm::IntrusiveBackListBase> = {Last = 0x5555588eb420}, <No data fields>}, Owner = {Val = {Value = 93825033955932}}}, 
              Section = 0x5555586d0808, Offset = 0, Length = 0, Version = 4, AddrSize = 8 '\b'}, _vptr.DwarfUnit = 0x7fbdba760f20 <vtable for llvm::DwarfCompileUnit+16>, CUNode = 0x555557ccb198, 
            DIEValueAllocator = {<llvm::AllocatorBase<llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096, 4096> >> = {<No data fields>}, CurPtr = 0x555558a2dca0 "", End = 0x555558a2e910 "", 
              Slabs = {<llvm::SmallVectorImpl<void*>> = {<llvm::SmallVectorTemplateBase<void*, true>> = {<llvm::SmallVectorTemplateCommon<void*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x5555585bac30, EndX = 0x5555585badf0, CapacityX = 0x5555585baea8}, 
                      FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "p\016WXUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {buffer = "`?aXUU\000"}, <No data fields>}, 
                    {<llvm::AlignedCharArray<8, 8>> = {buffer = " \032TXUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\360\352\214XUU\000"}, <No data fields>}}}}, 
              CustomSizedSlabs = {<llvm::SmallVectorImpl<std::pair<void*, unsigned long> >> = {<llvm::SmallVectorTemplateBase<std::pair<void*, unsigned long>, true>> = {<llvm::SmallVectorTemplateCommon<std::pair<void*, unsigned long>, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557d1eb08, EndX = 0x555557d1eb08, CapacityX = 0x555557d1eb08}, FirstEl = {<llvm::AlignedCharArray<8, 16>> = {buffer = " \353\321WUU\000\000 \353\321WUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {<No data fields>}}, 
              BytesAllocated = 189744, Allocator = {<llvm::AllocatorBase<llvm::MallocAllocator>> = {<No data fields>}, <No data fields>}}, Asm = 0x5555584a20e0, DD = 0x555558610f30, DU = 0x555558611f10, IndexTyDie = 0x55555897c550, 
            MDNodeToDieMap = {<llvm::DenseMapBase<llvm::DenseMap<llvm::MDNode const*, llvm::DIE*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::detail::DenseMapPair<llvm::MDNode const*, llvm::DIE*> >, llvm::MDNode const*, llvm::DIE*, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::detail::DenseMapPair<llvm::MDNode const*, llvm::DIE*> >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, Buckets = 0x55555895d760, NumEntries = 144, NumTombstones = 0, NumBuckets = 256}, DIEBlocks = std::vector of length 0, capacity 0, 
            DIELocs = std::vector of length 226, capacity 256 = {0x5555585713a0, 0x555558571500, 0x5555585422e0, 0x5555585424e0, 0x555558542560, 0x555558542650, 0x555558542750, 0x555558542870, 0x5555588cebd0, 0x5555588cedd0, 0x5555588cee50, 0x5555588cef40, 
              0x55555826c680, 0x55555826cde0, 0x55555826cf50, 0x55555826d0e0, 0x55555826d1b0, 0x55555826d2a0, 0x55555826d370, 0x55555826d460, 0x55555826d530, 0x55555826d620, 0x55555826d6a0, 0x55555826e800, 0x55555826e880, 0x55555826e900, 0x55555826ea90, 0x55555826ebc0, 
              0x55555826f160, 0x55555826f5c0, 0x55555826f730, 0x5555588c0760, 0x5555588c0a50, 0x555558274a80, 0x555558274fe0, 0x555558275480, 0x5555582755c0, 0x555558275700, 0x555558275780, 0x55555887de00, 0x55555887de80, 0x55555887e4c0, 0x55555887eac0, 0x55555887edf0, 
              0x55555887ee70, 0x55555887eef0, 0x55555887f0a0, 0x55555887f3a0, 0x55555887f510, 0x5555585ab630, 0x5555585aba30, 0x5555585ac0c0, 0x5555585ac2e0, 0x5555585ebcf0, 0x5555585ebed0, 0x5555585ec310, 0x5555585ec7a0, 0x5555588d67b0, 0x5555588d6920, 0x5555588d6a90, 
              0x5555588d6d70, 0x5555588d7240, 0x5555585b86a0, 0x5555585b90f0, 0x5555585b3820, 0x5555585b3c20, 0x5555585b3e90, 0x5555585b4000, 0x5555585b4170, 0x5555585b4290, 0x5555585b4310, 0x5555585b23e0, 0x5555585b2460, 0x5555585b2570, 0x5555585b2690, 0x5555585b27b0, 
              0x5555585b28d0, 0x5555585b2ce0, 0x5555585b2d60, 0x5555585b2e50, 0x5555585b3210, 0x5555585b3290, 0x5555585b3360, 0x555558598bc0, 0x5555585998e0, 0x555558946540, 0x555558946600, 0x5555589466a0, 0x555558947300, 0x555558936d80, 0x555558937020, 0x555558937220, 
              0x5555589372a0, 0x555558937390, 0x555558937520, 0x555558937690, 0x555558937800, 0x555558937880, 0x5555585f52a0, 0x5555585f5de0, 0x5555585f5e60, 0x5555585f5f50, 0x5555585f6540, 0x5555585f6610, 0x5555585f66c0, 0x5555585f6740, 0x555558928260, 0x5555589006d0, 
              0x555558900c80, 0x555558900eb0, 0x555558901520, 0x55555894d5e0, 0x55555894dce0, 0x55555894df10, 0x55555894e250, 0x5555585bcdd0, 0x5555585bd0f0, 0x5555585bd210, 0x5555585bd420, 0x5555585bd7f0, 0x5555585bdb10, 0x55555890ec30, 0x55555890edf0, 0x55555890f1c0, 
              0x55555890f4e0, 0x55555890f600, 0x55555890f7c0, 0x55555890f890, 0x55555890f940, 0x55555890f9c0, 0x55555890fa90, 0x5555585ad720, 0x5555585ad9c0, 0x5555585adbf0, 0x5555585addd0, 0x5555585adfb0, 0x5555585ae190, 0x5555585ae370, 0x5555585ae670, 0x55555895e960, 
              0x55555896b200, 0x555558947680, 0x555558947ae0, 0x555558947cc0, 0x555558947d70, 0x555558947e80, 0x555558947fa0, 0x555558948210, 0x55555894b9d0, 0x55555894bc20, 0x5555588ee830, 0x5555588eebe0, 0x5555588f17b0, 0x5555588f1860, 0x5555588f18e0, 0x5555588f19b0, 
              0x5555588f1a80, 0x5555588f1ee0, 0x5555588f2260, 0x5555588f22e0, 0x5555585b5af0, 0x5555585b5b70, 0x5555585b5f70, 0x5555585b6290, 0x5555585b6310, 0x5555585b6390, 0x55555897ba80, 0x55555897bd20, 0x55555897bda0, 0x55555897be20, 0x55555897bf20, 0x55555897c040, 
              0x55555899e7d0, 0x55555899e9d0, 0x55555899eb10, 0x55555899ec10, 0x55555899ed50, 0x55555899ef50, 0x555558978530, 0x555558978650, 0x555558978cf0, 0x555558978f90, 0x5555585bf530, 0x5555585bf680, 0x5555585bfdb0, 0x5555585bfe80, 0x5555585c0050, 0x5555585c02e0, 
              0x5555585c0360, 0x5555585c03e0, 0x555558953aa0, 0x555558953b20, 0x555558953bf0, 0x555558953c70, 0x555558953cf0, 0x555558953ed0, 0x555558953f50, 0x555558953fd0, 0x5555589540e0, 0x555558954160...}, 
            ContainingTypeMap = {<llvm::DenseMapBase<llvm::DenseMap<llvm::DIE*, llvm::DINode const*, llvm::DenseMapInfo<llvm::DIE*>, llvm::detail::DenseMapPair<llvm::DIE*, llvm::DINode const*> >, llvm::DIE*, llvm::DINode const*, llvm::DenseMapInfo<llvm::DIE*>, llvm::detail::DenseMapPair<llvm::DIE*, llvm::DINode const*> >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, Buckets = 0x0, NumEntries = 0, NumTombstones = 0, NumBuckets = 0}}, UniqueID = 0, 
          StmtListValue = {<llvm::iterator_adaptor_base<llvm::DIEValueList::value_iterator, llvm::IntrusiveBackList<llvm::DIEValueList::Node>::iterator, std::forward_iterator_tag, llvm::DIEValue, long, llvm::DIEValue*, llvm::DIEValue&, std::iterator_traits<llvm::IntrusiveBackList<llvm::DIEValueList::Node>::iterator> >> = {<llvm::iterator_facade_base<llvm::DIEValueList::value_iterator, std::forward_iterator_tag, llvm::DIEValue, long, llvm::DIEValue*, llvm::DIEValue&>> = {<std::iterator<std::forward_iterator_tag, llvm::DIEValue, long, llvm::DIEValue*, llvm::DIEValue&>> = {<No data fields>}, <No data fields>}, 
              I = {<llvm::iterator_facade_base<llvm::IntrusiveBackList<llvm::DIEValueList::Node>::iterator, std::forward_iterator_tag, llvm::DIEValueList::Node, long, llvm::DIEValueList::Node*, llvm::DIEValueList::Node&>> = {<std::iterator<std::forward_iterator_tag, llvm::DIEValueList::Node, long, llvm::DIEValueList::Node*, llvm::DIEValueList::Node&>> = {<No data fields>}, <No data fields>}, N = 0x555558570ed0}}, <No data fields>}, Skeleton = 0x0, LabelBegin = 0x555557d1ec30, MacroLabelBegin = 0x5555586bb748, 
          ImportedEntities = {<llvm::DenseMapBase<llvm::DenseMap<llvm::MDNode const*, llvm::SmallVector<llvm::MDNode const*, 8>, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::detail::DenseMapPair<llvm::MDNode const*, llvm::SmallVector<llvm::MDNode const*, 8> > >, llvm::MDNode const*, llvm::SmallVector<llvm::MDNode const*, 8>, llvm::DenseMapInfo<llvm::MDNode const*>, llvm::detail::DenseMapPair<llvm::MDNode const*, llvm::SmallVector<llvm::MDNode const*, 8> > >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, 
            Buckets = 0x55555896bf40, NumEntries = 353, NumTombstones = 0, NumBuckets = 512}, GlobalNames = {<llvm::StringMapImpl> = {TheTable = 0x5555588f3520, NumBuckets = 128, NumItems = 77, NumTombstones = 0, ItemSize = 16}, 
            Allocator = {<llvm::AllocatorBase<llvm::MallocAllocator>> = {<No data fields>}, <No data fields>}}, GlobalTypes = {<llvm::StringMapImpl> = {TheTable = 0x5555586b7900, NumBuckets = 128, NumItems = 71, NumTombstones = 0, ItemSize = 16}, 
            Allocator = {<llvm::AllocatorBase<llvm::MallocAllocator>> = {<No data fields>}, <No data fields>}}, 
          CURangeLists = {<llvm::SmallVectorImpl<llvm::RangeSpanList>> = {<llvm::SmallVectorTemplateBase<llvm::RangeSpanList, false>> = {<llvm::SmallVectorTemplateCommon<llvm::RangeSpanList, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x5555589fdf10, 
                    EndX = 0x5555589ff250, CapacityX = 0x5555589fff10}, FirstEl = {<llvm::AlignedCharArray<8, 64>> = {
                      buffer = "\000Y'XUU\000\000h\354\321WUU\000\000h\354\321WUU\000\000h\354\321WUU\000\000\220?OXUU\000\000\200\354\321WUU\000\000\340\354\321WUU\000\000\000\f\363WUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, 
            Storage = {<No data fields>}}, CURanges = {<llvm::SmallVectorImpl<llvm::RangeSpan>> = {<llvm::SmallVectorTemplateBase<llvm::RangeSpan, true>> = {<llvm::SmallVectorTemplateCommon<llvm::RangeSpan, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555558960790, 
                    EndX = 0x555558961060, CapacityX = 0x555558961380}, FirstEl = {<llvm::AlignedCharArray<8, 16>> = {buffer = "\b\276kXUU\000\000\230\304kXUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {
                {<llvm::AlignedCharArray<8, 16>> = {buffer = "H\fTXUU\000\000 \017TXUU\000"}, <No data fields>}}}}, BaseAddress = 0x0}
        ProcessedVars = {<llvm::detail::DenseSetImpl<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::DenseMap<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> >, llvm::detail::DenseSetPair<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> > >, llvm::DenseMapInfo<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> > >> = {
            TheMap = {<llvm::DenseMapBase<llvm::DenseMap<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> >, llvm::detail::DenseSetPair<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> > >, std::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> >, llvm::detail::DenseSetPair<std::pair<llvm::DILocalVariable const*, llvm::DILocation const*> > >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, Buckets = 0x5555589365f0, NumEntries = 26, NumTombstones = 0, NumBuckets = 64}}, <No data fields>}
#35 0x00007fbdb853b4b0 in llvm::AsmPrinter::EmitFunctionBody (this=this@entry=0x5555584a20e0) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1015
        T = {<llvm::TimeRegion> = {T = 0x0}, <No data fields>}
        HI = @0x555557ed6d20: {Handler = 0x555558610f30, TimerName = 0x7fbdb9901963 "emit", TimerDescription = 0x7fbdb9916ac0 "Debug Info Emission", TimerGroupName = 0x7fbdb9920550 "dwarf", TimerGroupDescription = 0x7fbdb9916ad4 "DWARF Emission"}
        __for_range = @0x5555584a21d0: {<llvm::SmallVectorImpl<llvm::AsmPrinter::HandlerInfo>> = {<llvm::SmallVectorTemplateBase<llvm::AsmPrinter::HandlerInfo, true>> = {<llvm::SmallVectorTemplateCommon<llvm::AsmPrinter::HandlerInfo, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557ed6d20, EndX = 0x555557ed6d70, CapacityX = 0x555557ed6d98}, FirstEl = {<llvm::AlignedCharArray<8, 40>> = {
                    buffer = "0\017aXUU\000\000c\031\220\271\275\177\000\000\300j\221\271\275\177\000\000P\005\222\271\275\177\000\000\324j\221\271\275\177\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {<No data fields>}}
        __for_begin = 0x555557ed6d20
        HasAnyRealCode = <optimized out>
#36 0x00007fbdb963627c in llvm::X86AsmPrinter::runOnMachineFunction (this=0x5555584a20e0, MF=...) at /build/llvm-toolchain-4.0-4.0.1/lib/Target/X86/X86AsmPrinter.cpp:70
No locals.
#37 0x00007fbdb8208950 in llvm::MachineFunctionPass::runOnFunction (this=0x5555584a20e0, F=...) at /build/llvm-toolchain-4.0-4.0.1/lib/CodeGen/MachineFunctionPass.cpp:62
        MF = @0x5555589cf3d0: {Fn = 0x555557fffc88, Target = @0x555555cabcb0, STI = 0x555558546710, Ctx = @0x555557d3cdb8, 
MMI = @0x555557d3cd90, RegInfo = 0x555558272810, MFInfo = 0x5555589b72d0, FrameInfo = 0x5555582728f0, ConstantPool = 0x555558272ba0, 
          JumpTableInfo = 0x0, WinEHInfo = 0x0, MBBNumbering = std::vector of length 48, capacity 64 = {0x555558272be0, 0x555558272c90, 0x5555589dcd60, 0x5555589c1ed0, 0x5555589dce70, 0x5555589dcf20, 0x555558272ea0, 0x5555589e4270, 0x555558272fb0, 0x555558273060, 
            0x555558273110, 0x5555582731c0, 0x555558273270, 0x555558273320, 0x555558273430, 0x555558273540, 0x5555582735f0, 0x5555582736a0, 0x555558273750, 0x5555589dc660, 0x5555589dc770, 0x5555589dc880, 0x5555589f5400, 0x5555589dc930, 0x5555589dc9e0, 0x5555589dcaf0, 
            0x5555589dcba0, 0x5555589dcc50, 0x5555589dd080, 0x5555589dd130, 0x5555589dd1e0, 0x555558a24ce0, 0x5555589dd340, 0x5555589dd3f0, 0x5555589dd290, 0x5555589b6600, 0x5555589b68c0, 0x5555589b6b80, 0x5555589b6c30, 0x5555589c5690, 0x5555589b6ce0, 0x5555589b6d90, 
            0x5555589b6ea0, 0x5555589b6f50, 0x5555589b7000, 0x5555589b7110, 0x5555589dcfd0, 0x5555589b71c0}, Allocator = {<llvm::AllocatorBase<llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096, 4096> >> = {<No data fields>}, CurPtr = 0x555558a290d0 "", 
            End = 0x555558a298d0 "", Slabs = {<llvm::SmallVectorImpl<void*>> = {<llvm::SmallVectorTemplateBase<void*, true>> = {<llvm::SmallVectorTemplateCommon<void*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555558355bf0, EndX = 0x555558355d28, 
                      CapacityX = 0x555558355d28}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\020('XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {
                      buffer = "`\306\235XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000f\233XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\260\363\233XUU\000"}, <No data fields>}}}}, 
            CustomSizedSlabs = {<llvm::SmallVectorImpl<std::pair<void*, unsigned long> >> = {<llvm::SmallVectorTemplateBase<std::pair<void*, unsigned long>, true>> = {<llvm::SmallVectorTemplateCommon<std::pair<void*, unsigned long>, void>> = {<llvm::SmallVectorBase> = {
                      BeginX = 0x5555589cf4a0, EndX = 0x5555589cf4a0, CapacityX = 0x5555589cf4a0}, FirstEl = {<llvm::AlignedCharArray<8, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
              Storage = {<No data fields>}}, BytesAllocated = 155456, Allocator = {<llvm::AllocatorBase<llvm::MallocAllocator>> = {<No data fields>}, <No data fields>}}, InstructionRecycler = {FreeList = 0x5555589eb8b0}, OperandRecycler = {
            Bucket = {<llvm::SmallVectorImpl<llvm::ArrayRecycler<llvm::MachineOperand>::FreeList*>> = {<llvm::SmallVectorTemplateBase<llvm::ArrayRecycler<llvm::MachineOperand>::FreeList*, true>> = {<llvm::SmallVectorTemplateCommon<llvm::ArrayRecycler<llvm::MachineOperand>::FreeList*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x5555589cf4e8, EndX = 0x5555589cf510, CapacityX = 0x5555589cf528}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\bZ\234XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {
                InlineElts = {{<llvm::AlignedCharArray<8, 8>> = {buffer = "\340\304\241XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {
                      buffer = "`.\234XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "0\270\237XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\000\000\000UU\000"}, <No data fields>}, 
                  {<llvm::AlignedCharArray<8, 8>> = {buffer = "\020('XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}}}}, BasicBlockRecycler = {FreeList = 0x5555589b6970}, 
          BasicBlocks = {<llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >> = {<llvm::ilist_traits<llvm::MachineBasicBlock>> = {<llvm::ilist_default_traits<llvm::MachineBasicBlock>> = {<llvm::ilist_node_traits<llvm::MachineBasicBlock>> = {<llvm::ilist_alloc_traits<llvm::MachineBasicBlock>> = {<No data fields>}, <llvm::ilist_callback_traits<llvm::MachineBasicBlock>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::MachineBasicBlock>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, 
                Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x5555589dcf20, 
                      Next = 0x555558272be0}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, FunctionNumber = 140, Alignment = 4, ExposesReturnsTwice = false, HasInlineAsm = false, HasWinCFI = {storage = {<llvm::AlignedCharArray<1, 1>> = {
                buffer = ""}, <No data fields>}, hasVal = true}, Properties = {Properties = {Bits = 0x555557ce7250, Size = 8, Capacity = 1}}, PSVManager = std::unique_ptr<llvm::PseudoSourceValueManager> containing 0x5555585f1b90, 
          FrameInstructions = std::vector of length 11, capacity 16 = {{Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 16, Register2 = 16}, Values = std::vector of length 0, capacity 0}, {
              Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 24, Register2 = 24}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 32, 
                Register2 = 32}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 40, Register2 = 40}, Values = std::vector of length 0, capacity 0}, {
              Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 48, Register2 = 48}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpDefCfaOffset, Label = 0x0, Register = 0, {Offset = 144, 
                Register2 = 144}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpOffset, Label = 0x0, Register = 3, {Offset = -48, Register2 = 4294967248}, Values = std::vector of length 0, capacity 0}, {
              Operation = llvm::MCCFIInstruction::OpOffset, Label = 0x0, Register = 12, {Offset = -40, Register2 = 4294967256}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpOffset, Label = 0x0, Register = 14, {Offset = -32, 
                Register2 = 4294967264}, Values = std::vector of length 0, capacity 0}, {Operation = llvm::MCCFIInstruction::OpOffset, Label = 0x0, Register = 15, {Offset = -24, Register2 = 4294967272}, Values = std::vector of length 0, capacity 0}, {
              Operation = llvm::MCCFIInstruction::OpOffset, Label = 0x0, Register = 6, {Offset = -16, Register2 = 4294967280}, Values = std::vector of length 0, capacity 0}}, LandingPads = std::vector of length 0, capacity 0, 
          LPadToCallSiteMap = {<llvm::DenseMapBase<llvm::DenseMap<llvm::MCSymbol*, llvm::SmallVector<unsigned int, 4>, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::detail::DenseMapPair<llvm::MCSymbol*, llvm::SmallVector<unsigned int, 4> > >, llvm::MCSymbol*, llvm::SmallVector<unsigned int, 4>, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::detail::DenseMapPair<llvm::MCSymbol*, llvm::SmallVector<unsigned int, 4> > >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, Buckets = 0x0, NumEntries = 0, NumTombstones = 0, 
            NumBuckets = 0}, 
          CallSiteMap = {<llvm::DenseMapBase<llvm::DenseMap<llvm::MCSymbol*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::detail::DenseMapPair<llvm::MCSymbol*, unsigned int> >, llvm::MCSymbol*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol*>, llvm::detail::DenseMapPair<llvm::MCSymbol*, unsigned int> >> = {<llvm::DebugEpochBase> = {<No data fields>}, <No data fields>}, Buckets = 0x0, NumEntries = 0, NumTombstones = 0, NumBuckets = 0}, CallsEHReturn = false, CallsUnwindInit = false, HasEHFunclets = false, 
          TypeInfos = std::vector of length 0, capacity 0, FilterIds = std::vector of length 0, capacity 0, FilterEnds = std::vector of length 0, capacity 0, PersonalityTypeCache = llvm::EHPersonality::Unknown, 
          VariableDbgInfos = {<llvm::SmallVectorImpl<llvm::MachineFunction::VariableDbgInfo>> = {<llvm::SmallVectorTemplateBase<llvm::MachineFunction::VariableDbgInfo, true>> = {<llvm::SmallVectorTemplateCommon<llvm::MachineFunction::VariableDbgInfo, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x55555856f240, EndX = 0x55555856f2e0, CapacityX = 0x55555856f360}, FirstEl = {<llvm::AlignedCharArray<8, 32>> = {
                      buffer = "\200\237\001XUU\000\000P\342\316WUU\000\000\005\000\000\000\000\000\000\000\b\237\001XUU\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<8, 32>> = {
                    buffer = " Q\003XUU\000\000\320\212\316WUU\000\000\005\000\000\000\275\177\000\000P\255\002XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 32>> = {
                    buffer = " Q\003XUU\000\000\320\212\316WUU\000\000\005\000\000\000\000\000\000\000P\032\002XUU\000"}, <No data fields>}, {<llvm::AlignedCharArray<8, 32>> = {
                    buffer = " Q\003XUU\000\000\320\212\316WUU\000\000\005\000\000\000UU\000\000P\255\002XUU\000"}, <No data fields>}}}}}
        RV = <optimized out>
        this = 0x5555584a20e0
        F = @0x555557fffc88: {<llvm::GlobalObject> = {<llvm::GlobalValue> = {<llvm::Constant> = {<llvm::User> = {<llvm::Value> = {_vptr.Value = 0x7fbdba754828 <vtable for llvm::Function+16>, VTy = 0x555557fed3f0, UseList = 0x555558000728, SubclassID = 5 '\005', 
                    HasValueHandle = 1 '\001', SubclassOptionalData = 0 '\000', SubclassData = 0, NumUserOperands = 0, IsUsedByMD = 0, HasName = 1, HasHungOffUses = 1, HasDescriptor = 0, static MaxAlignmentExponent = 29, 
                    static MaximumAlignment = 536870912}, <No data fields>}, <No data fields>}, ValueType = 0x555557fed3b0, static GlobalValueSubClassDataBits = 18, Linkage = 5, Visibility = 0, UnnamedAddrVal = 1, DllStorageClass = 0, ThreadLocal = 0, 
              HasLLVMReservedName = 0, SubClassData = 32, IntID = llvm::Intrinsic::not_intrinsic, Parent = 0x555557cc1400}, ObjComdat = 0x555558018f08, static GlobalObjectSubClassDataBits = 11, static AlignmentBits = 5, static AlignmentMask = 31, 
            static GlobalObjectMask = 127}, <llvm::ilist_node<llvm::Function>> = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555557ffc9b8, 
                Next = 0x5555580018f8}, <No data fields>}, <No data fields>}, 
          BasicBlocks = {<llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >> = {<llvm::SymbolTableListTraits<llvm::BasicBlock>> = {<llvm::ilist_alloc_traits<llvm::BasicBlock>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::BasicBlock>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555558021210, 
                      Next = 0x5555580182d0}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          ArgumentList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::Argument>, llvm::SymbolTableListTraits<llvm::Argument> >> = {<llvm::SymbolTableListTraits<llvm::Argument>> = {<llvm::ilist_alloc_traits<llvm::Argument>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::Argument>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::Argument, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, 
                Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Argument, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555558000180, 
                      Next = 0x555557ffee20}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, SymTab = std::unique_ptr<llvm::ValueSymbolTable> containing 0x0, AttributeSets = {pImpl = 0x555557ce8790}}
#38 0x00007fbdb80934c8 in llvm::FPPassManager::runOnFunction (this=0x5555583b8a80, F=...) at /build/llvm-toolchain-4.0-4.0.1/lib/IR/LegacyPassManager.cpp:1513
        X = {<llvm::PrettyStackTraceEntry> = {_vptr.PrettyStackTraceEntry = 0x7fbdba7563e0 <vtable for llvm::PassManagerPrettyStackEntry+16>, NextEntry = 0x7fffffffd510}, P = 0x5555584a20e0, V = 0x555557fffc88, M = 0x0}
        PassTimer = <optimized out>
        LocalChanged = false
        Index = 93
        Changed = true
        this = 0x5555583b8a80
        F = @0x555557fffc88: {<llvm::GlobalObject> = {<llvm::GlobalValue> = {<llvm::Constant> = {<llvm::User> = {<llvm::Value> = {_vptr.Value = 0x7fbdba754828 <vtable for llvm::Function+16>, VTy = 0x555557fed3f0, UseList = 0x555558000728, SubclassID = 5 '\005', 
                    HasValueHandle = 1 '\001', SubclassOptionalData = 0 '\000', SubclassData = 0, NumUserOperands = 0, IsUsedByMD = 0, HasName = 1, HasHungOffUses = 1, HasDescriptor = 0, static MaxAlignmentExponent = 29, 
                    static MaximumAlignment = 536870912}, <No data fields>}, <No data fields>}, ValueType = 0x555557fed3b0, static GlobalValueSubClassDataBits = 18, Linkage = 5, Visibility = 0, UnnamedAddrVal = 1, DllStorageClass = 0, ThreadLocal = 0, 
              HasLLVMReservedName = 0, SubClassData = 32, IntID = llvm::Intrinsic::not_intrinsic, Parent = 0x555557cc1400}, ObjComdat = 0x555558018f08, static GlobalObjectSubClassDataBits = 11, static AlignmentBits = 5, static AlignmentMask = 31, 
            static GlobalObjectMask = 127}, <llvm::ilist_node<llvm::Function>> = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555557ffc9b8, 
                Next = 0x5555580018f8}, <No data fields>}, <No data fields>}, 
          BasicBlocks = {<llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >> = {<llvm::SymbolTableListTraits<llvm::BasicBlock>> = {<llvm::ilist_alloc_traits<llvm::BasicBlock>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::BasicBlock>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555558021210, 
                      Next = 0x5555580182d0}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          ArgumentList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::Argument>, llvm::SymbolTableListTraits<llvm::Argument> >> = {<llvm::SymbolTableListTraits<llvm::Argument>> = {<llvm::ilist_alloc_traits<llvm::Argument>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::Argument>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::Argument, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, 
                Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Argument, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555558000180, 
                      Next = 0x555557ffee20}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, SymTab = std::unique_ptr<llvm::ValueSymbolTable> containing 0x0, AttributeSets = {pImpl = 0x555557ce8790}}
#39 0x00007fbdb8093513 in llvm::FPPassManager::runOnModule (this=0x5555583b8a80, M=...) at /build/llvm-toolchain-4.0-4.0.1/lib/IR/LegacyPassManager.cpp:1534
        __for_range = @0x555557cc1400: {Context = @0x555555caccb0, 
          GlobalList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >> = {<llvm::SymbolTableListTraits<llvm::GlobalVariable>> = {<llvm::ilist_alloc_traits<llvm::GlobalVariable>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::GlobalVariable>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555557ffa3e8, 
                      Next = 0x555557cf08c8}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          FunctionList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >> = {<llvm::SymbolTableListTraits<llvm::Function>> = {<llvm::ilist_alloc_traits<llvm::Function>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::Function>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::Function, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, 
                Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x55555852d458, 
                      Next = 0x555557cdaaf8}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          AliasList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >> = {<llvm::SymbolTableListTraits<llvm::GlobalAlias>> = {<llvm::ilist_alloc_traits<llvm::GlobalAlias>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::GlobalAlias>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555557cc1428, 
                      Next = 0x555557cc1428}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          IFuncList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >> = {<llvm::SymbolTableListTraits<llvm::GlobalIFunc>> = {<llvm::ilist_alloc_traits<llvm::GlobalIFunc>> = {<No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::GlobalIFunc>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x555557cc1438, 
                      Next = 0x555557cc1438}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, 
          NamedMDList = {<llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >> = {<llvm::ilist_traits<llvm::NamedMDNode>> = {<llvm::ilist_default_traits<llvm::NamedMDNode>> = {<llvm::ilist_node_traits<llvm::NamedMDNode>> = {<llvm::ilist_alloc_traits<llvm::NamedMDNode>> = {<No data fields>}, <llvm::ilist_callback_traits<llvm::NamedMDNode>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <llvm::simple_ilist<llvm::NamedMDNode>> = {<llvm::ilist_base<false>> = {<No data fields>}, <llvm::ilist_detail::SpecificNodeAccess<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void> >> = {<llvm::ilist_detail::NodeAccess> = {<No data fields>}, <No data fields>}, 
                Sentinel = {<llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void> >> = {<llvm::ilist_node_base<false>> = {Prev = 0x55555816fa00, 
                      Next = 0x555557ccac00}, <No data fields>}, <No data fields>}}, <No data fields>}, <No data fields>}, GlobalScopeAsm = "", ValSymTab = 0x555557cbf160, ComdatSymTab = {<llvm::StringMapImpl> = {TheTable = 0x5555582cd8d0, NumBuckets = 1024, 
              NumItems = 589, NumTombstones = 0, ItemSize = 24}, Allocator = {<llvm::AllocatorBase<llvm::MallocAllocator>> = {<No data fields>}, <No data fields>}}, OwnedMemoryBuffer = std::unique_ptr<llvm::MemoryBuffer> containing 0x0, 
          Materializer = std::unique_ptr<llvm::GVMaterializer> containing 0x0, ModuleID = "../source/diet/dom.d", SourceFileName = "../source/diet/dom.d", TargetTriple = "x86_64-pc-linux-gnu", NamedMDSymTab = 0x555557cc1bb0, DL = {BigEndian = false, 
            StackNaturalAlign = 16, ManglingMode = llvm::DataLayout::MM_ELF, 
            LegalIntWidths = {<llvm::SmallVectorImpl<unsigned char>> = {<llvm::SmallVectorTemplateBase<unsigned char, true>> = {<llvm::SmallVectorTemplateCommon<unsigned char, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557cc1540, EndX = 0x555557cc1544, 
                      CapacityX = 0x555557cc1548}, FirstEl = {<llvm::AlignedCharArray<1, 1>> = {buffer = "\b"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<1, 1>> = {buffer = "\020"}, <No data fields>}, 
                  {<llvm::AlignedCharArray<1, 1>> = {buffer = " "}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "@"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "\275"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                      buffer = "\177"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}}}}, 
            Alignments = {<llvm::SmallVectorImpl<llvm::LayoutAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::LayoutAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::LayoutAlignElem, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557cc1560, 
                      EndX = 0x555557cc15c8, CapacityX = 0x555557cc15e0}, FirstEl = {<llvm::AlignedCharArray<4, 8>> = {buffer = "i\001\000\000\001\000\001"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {
                  {<llvm::AlignedCharArray<4, 8>> = {buffer = "i\b\000\000\001\000\001"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i\020\000\000\002\000\002"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                      buffer = "i \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i@\000\000\b\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f\020\000\000\002\000\002"}, <No data fields>}, 
                  {<llvm::AlignedCharArray<4, 8>> = {buffer = "f \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f@\000\000\b\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                      buffer = "f\200\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "v@\000\000\b\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "v\200\000\000\020\000\020"}, <No data fields>}, 
                  {<llvm::AlignedCharArray<4, 8>> = {buffer = "a\000\000\000\000\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "fP\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                      buffer = "`\230\253\263\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "\020N\t\261\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "`\036\n\261\275\177\000"}, <No data fields>}}}}, 
            StringRepresentation = "e-m:e-i64:64-f80:128-n8:16:32:64-S128", 
            Pointers = {<llvm::SmallVectorImpl<llvm::PointerAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::PointerAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::PointerAlignElem, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557cc1618, 
                      EndX = 0x555557cc1628, CapacityX = 0x555557cc1698}, FirstEl = {<llvm::AlignedCharArray<4, 16>> = {buffer = "\b\000\000\000\b\000\000\000\b\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {
                InlineElts = {{<llvm::AlignedCharArray<4, 16>> = {buffer = "\340.\f\261\275\177\000\000 5\f\261\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {
                      buffer = "\260\306\f\261\275\177\000\000\360\314\f\261\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = " ^\r\261\275\177\000\000`d\r\261\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {
                      buffer = "0\365\r\261\275\177\000\000p\373\r\261\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = "@\214\356\260\275\177\000\000\200\222\356\260\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {
                      buffer = "\240\220\357\260\275\177\000\000\200\252\357\260\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = "\000\305\357\260\275\177\000\000@\313\357\260\275\177\000"}, <No data fields>}}}}, 
            static InvalidAlignmentElem = {AlignType = 0, TypeBitWidth = 0, ABIAlign = 0, PrefAlign = 0}, static InvalidPointerElem = {ABIAlign = 0, PrefAlign = 0, TypeByteWidth = 0, AddressSpace = 4294967295}, LayoutMap = 0x5555583bbab0, 
            NonIntegralAddressSpaces = {<llvm::SmallVectorImpl<unsigned int>> = {<llvm::SmallVectorTemplateBase<unsigned int, true>> = {<llvm::SmallVectorTemplateCommon<unsigned int, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555557cc16b8, EndX = 0x555557cc16b8, 
                      CapacityX = 0x555557cc16d8}, FirstEl = {<llvm::AlignedCharArray<4, 4>> = {buffer = "P1\362\260"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 4>> = {
                      buffer = "\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\320K\362\260"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                      buffer = "\020R\362\260"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\275\177\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = " \345\362\260"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                      buffer = "\275\177\000"}, <No data fields>}}}}}}
        Changed = true
#40 0x00007fbdb8092daf in (anonymous namespace)::MPPassManager::runOnModule (M=..., this=0x5555588cd360) at /build/llvm-toolchain-4.0-4.0.1/lib/IR/LegacyPassManager.cpp:1590
        X = {<llvm::PrettyStackTraceEntry> = {_vptr.PrettyStackTraceEntry = 0x7fbdba7563e0 <vtable for llvm::PassManagerPrettyStackEntry+16>, NextEntry = 0x0}, P = 0x5555583b8a80, V = 0x0, M = 0x555557cc1400}
        LocalChanged = false
        Index = 3
        Changed = true
#41 llvm::legacy::PassManagerImpl::run (this=0x555557d062e0, M=...) at /build/llvm-toolchain-4.0-4.0.1/lib/IR/LegacyPassManager.cpp:1693
        Index = 0
        Changed = false
#42 0x00007fbdb8092f49 in llvm::legacy::PassManager::run (this=this@entry=0x7fffffffd590, M=...) at /build/llvm-toolchain-4.0-4.0.1/lib/IR/LegacyPassManager.cpp:1724
No locals.
#43 0x00005555558f5e7b in codegenModule (Target=..., m=..., out=..., fileType=fileType@entry=llvm::TargetMachine::CGFT_ObjectFile) at ./driver/toobj.cpp:133
        Passes = {<llvm::legacy::PassManagerBase> = {_vptr.PassManagerBase = 0x7fbdba7569e0 <vtable for llvm::legacy::PassManager+16>}, PM = 0x555557d062e0}
        cb = ComputeBackend::None
#44 0x00005555558f644d in (anonymous namespace)::writeObjectFile (filename=0x555555ccd380 "diet@sha/source_diet_dom.d.o", m=0x555557cc1400) at ./driver/toobj.cpp:386
        out = {<llvm::raw_pwrite_stream> = {<llvm::raw_ostream> = {_vptr.raw_ostream = 0x7fbdba753508 <vtable for llvm::raw_fd_ostream+16>, OutBufStart = 0x0, OutBufEnd = 0x0, OutBufCur = 0x0, BufferMode = llvm::raw_ostream::InternalBuffer}, <No data fields>}, FD = 3, 
          ShouldClose = true, Error = false, pos = 0, SupportsSeeking = true}
        errinfo = {_M_value = 0, _M_cat = 0x7fbdb7218b40}
#45 writeModule (m=m@entry=0x555557cc1400, filename=filename@entry=0x555555ccd380 "diet@sha/source_diet_dom.d.o") at ./driver/toobj.cpp:570
        useIR2ObjCache = <optimized out>
        moduleHash = {<llvm::SmallVector<char, 32>> = {<llvm::SmallVectorImpl<char>> = {<llvm::SmallVectorTemplateBase<char, true>> = {<llvm::SmallVectorTemplateCommon<char, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffd798, EndX = 0x7fffffffd798, 
                    CapacityX = 0x7fffffffd7b8}, FirstEl = {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "["}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = "n"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>} <repeats 11 times>, {<llvm::AlignedCharArray<1, 1>> = {buffer = "\320"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = "\276"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "O"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "X"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "U"}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = "U"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}}}}, <No data fields>}
        directory = {static npos = 18446744073709551615, Data = 0x555555ccd380 "diet@sha/source_diet_dom.d.o", Length = 8}
        outputFlags = {_M_array = 0x7fffffffd730, _M_len = 4}
        replaceExtensionWith = {__numOutputFiles = <optimized out>, __filename = 0x555555ccd380 "diet@sha/source_diet_dom.d.o"}
#46 0x00005555558f2a63 in ldc::CodeGenerator::writeAndFreeLLModule (this=0x7fffffffdb10, filename=0x555555ccd380 "diet@sha/source_diet_dom.d.o") at ./driver/codegenerator.cpp:271
        IdentMetadata = 0x55555816fa00
        Version = "ldc version 1.3.0"
        IdentNode = {0x5555584fbed0}
        diagnosticsOutputFile = std::unique_ptr<llvm::tool_output_file> containing 0x0
#47 0x00005555558f2ddd in ldc::CodeGenerator::emit (this=this@entry=0x7fffffffdb10, m=0x7fbdba945d30) at ./driver/codegenerator.cpp:345
No locals.
#48 0x00005555558cbed9 in codegenModules (modules=...) at ./driver/main.cpp:1103
        m = 0x7fbdba945d30
        atCompute = DComputeCompileFor::hostOnly
        i = 0
        cg = {context_ = @0x555555caccb0, moduleCount_ = 1, singleObj_ = false, ir_ = 0x555557cc1400}
        dccg = {ctx = @0x555555caccb0, targets = {<llvm::SmallVectorImpl<DComputeTarget*>> = {<llvm::SmallVectorTemplateBase<DComputeTarget*, true>> = {<llvm::SmallVectorTemplateCommon<DComputeTarget*, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x7fffffffdb70, 
                    EndX = 0x7fffffffdb70, CapacityX = 0x7fffffffdb80}, FirstEl = {<llvm::AlignedCharArray<8, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {
                {<llvm::AlignedCharArray<8, 8>> = {buffer = "\200\067|\265\275\177\000"}, <No data fields>}}}}}
        computeModules = std::vector of length 0, capacity 0
#49 0x00005555557bda0d in mars_mainBody(Array<char const*>&, Array<char const*>&) ()
No symbol table info available.
#50 0x00005555558ce72a in cppmain (argc=<optimized out>, argv=<optimized out>) at ./driver/main.cpp:1072
        helpOnly = false
        files = {dim = 1, data = 0x7fffffffdd58, allocdim = 1, smallarray = {0x555555cabb70 "../source/diet/dom.d"}}
        bitness = <optimized out>
        DL = {BigEndian = false, StackNaturalAlign = 16, ManglingMode = llvm::DataLayout::MM_ELF, 
          LegalIntWidths = {<llvm::SmallVectorImpl<unsigned char>> = {<llvm::SmallVectorTemplateBase<unsigned char, true>> = {<llvm::SmallVectorTemplateCommon<unsigned char, void>> = {<llvm::SmallVectorBase> = {BeginX = 0x555555c57008 <cppmain(int, char**)::DL+40>, 
                    EndX = 0x555555c5700c <cppmain(int, char**)::DL+44>, CapacityX = 0x555555c57010 <cppmain(int, char**)::DL+48>}, FirstEl = {<llvm::AlignedCharArray<1, 1>> = {buffer = "\b"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {
              InlineElts = {{<llvm::AlignedCharArray<1, 1>> = {buffer = "\020"}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = " "}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = "@"}, <No data fields>}, 
                {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {buffer = ""}, <No data fields>}, {<llvm::AlignedCharArray<1, 1>> = {
                    buffer = ""}, <No data fields>}}}}, 
          Alignments = {<llvm::SmallVectorImpl<llvm::LayoutAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::LayoutAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::LayoutAlignElem, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c57028 <cppmain(int, char**)::DL+72>, EndX = 0x555555c57090 <cppmain(int, char**)::DL+176>, CapacityX = 0x555555c570a8 <cppmain(int, char**)::DL+200>}, FirstEl = {<llvm::AlignedCharArray<4, 8>> = {
                      buffer = "i\001\000\000\001\000\001"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 8>> = {buffer = "i\b\000\000\001\000\001"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "i\020\000\000\002\000\002"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "i@\000\000\b\000\b"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "f\020\000\000\002\000\002"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f \000\000\004\000\004"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "f@\000\000\b\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "f\200\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "v@\000\000\b\000\b"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "v\200\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "a\000\000\000\000\000\b"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {
                    buffer = "fP\000\000\020\000\020"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 8>> = {buffer = "\000\000\000\000\000\000\000"}, <No data fields>}}}}, StringRepresentation = "e-m:e-i64:64-f80:128-n8:16:32:64-S128", 
          Pointers = {<llvm::SmallVectorImpl<llvm::PointerAlignElem>> = {<llvm::SmallVectorTemplateBase<llvm::PointerAlignElem, true>> = {<llvm::SmallVectorTemplateCommon<llvm::PointerAlignElem, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c570e0 <cppmain(int, char**)::DL+256>, EndX = 0x555555c570f0 <cppmain(int, char**)::DL+272>, CapacityX = 0x555555c57160 <cppmain(int, char**)::DL+384>}, FirstEl = {<llvm::AlignedCharArray<4, 16>> = {
                      buffer = "\b\000\000\000\b\000\000\000\b\000\000\000\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {
                    buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}, 
                {<llvm::AlignedCharArray<4, 16>> = {buffer = '\000' <repeats 15 times>}, <No data fields>}}}}, static InvalidAlignmentElem = {AlignType = 0, TypeBitWidth = 0, ABIAlign = 0, PrefAlign = 0}, static InvalidPointerElem = {ABIAlign = 0, PrefAlign = 0, 
            TypeByteWidth = 0, AddressSpace = 4294967295}, LayoutMap = 0x555557cd2880, 
          NonIntegralAddressSpaces = {<llvm::SmallVectorImpl<unsigned int>> = {<llvm::SmallVectorTemplateBase<unsigned int, true>> = {<llvm::SmallVectorTemplateCommon<unsigned int, void>> = {<llvm::SmallVectorBase> = {
                    BeginX = 0x555555c57180 <cppmain(int, char**)::DL+416>, EndX = 0x555555c57180 <cppmain(int, char**)::DL+416>, CapacityX = 0x555555c571a0 <linkDebugLib>}, FirstEl = {<llvm::AlignedCharArray<4, 4>> = {
                      buffer = "\000\000\000"}, <No data fields>}}, <No data fields>}, <No data fields>}, Storage = {InlineElts = {{<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                    buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {
                    buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}, {<llvm::AlignedCharArray<4, 4>> = {buffer = "\000\000\000"}, <No data fields>}}}}}
        libmodules = {dim = 0, data = 0x7fffffffde88, allocdim = 1, smallarray = {0x7fbdb72152a8 <vtable for std::basic_streambuf<char, std::char_traits<char> >+16> "@\240\373\266\275\177"}}
#51 0x000055555591935f in rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function).runAll().__lambda1() ()
No symbol table info available.
#52 0x0000555555919324 in rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function).tryExec(scope void() delegate) ()
No symbol table info available.
#53 0x0000555555919250 in _d_run_main ()
No symbol table info available.
#54 0x00007fbdb66052e1 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#55 0x00005555556737ea in _start ()
No symbol table info available.
Contributor

ximion commented Aug 31, 2017

This one fortunately turned out to be easy to reproduce locally :-)

Member

kinke commented Sep 6, 2017

Is the -O -g combo quite popular for Debian packages? These debuginfo issues are a PITA and fixing them properly might take a while.

Contributor

ximion commented Sep 6, 2017

This flag combination is ubiquitous in Debian packages, because it's the default. We need optimized builds (obviously) to run the software quickly, and debug information to help with debugging problems in thee post-installation.
The debug symbols are automatically stripped from the final package and placed in a -dbgsym package, to e.g. automatically retrace cŕashes etc.

Owner

klickverbot commented Sep 6, 2017

For reference, something along the lines of -O -g is also used at Weka, so it's not like it would be completely broken.

Hello, any news for this?

Member

kinke commented Sep 17, 2017

Well, an easy to reproduce, self-contained testcase is the best way to get things fixed.

Contributor

ximion commented Sep 17, 2017

I have uploaded LDC 1.4.0 built against LLVM 5.0 to Debian yesterday, once it clears NEW we will at least know whether that fixed anything.
This bug is currently breaking pretty much all D code in Debian (all that doesn't use GDC or requires a shared library). See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875878

It's really annoying that something like this appears to happen so frequently, I think maybe having the CI not only build LDC and test it, but also have it build a comple of complex D projects and their dependencies would be pretty helpful.

I don't have time to create a minimized testcase for this right now, but this bug is at least 100% reproducible, and it happens on amd64 as well, so making one should not be too hard.

Contributor

ximion commented Sep 17, 2017

This bug is currently breaking pretty much all D code in Debian (all that doesn't use GDC or requires a shared library)

Correction: It actually does break everything, no matter whether there is a shared library involved or not.

Member

kinke commented Sep 17, 2017

It's really annoying that something like this appears to happen so frequently, I think maybe having the CI not only build LDC and test it, but also have it build a comple of complex D projects and their dependencies would be pretty helpful.

At least in this case, -O -g seems to be required, so it's not like adding a few projects to CI would automatically prevent stuff like this. An older issue of yours was only uncovered due to Debian not using dub etc. So choosing a nice set of projects and cmdline flags probably isn't trivial,
especially given a rather restricted time budget.

I'd expect the projects to use an ldc and ideally an ldc-beta Travis environment and test it with their expected configuration - and us getting notified upon issues. So maybe it'd be better/more feasible for Debian to streamline the config (dub etc.) or to add/alter the CI configs of the projects to reflect the Debian one.

It's really annoying that something like this appears to happen so frequently, I think maybe having the >CI not only build LDC and test it, but also have it build a comple of complex D projects and their >dependencies would be pretty helpful.

not really difficult to do that...
https://sources.debian.net/src/doxygen/1.8.13-8/debian/tests/run/

Contributor

ximion commented Sep 18, 2017

@LocutusOfBorg

not really difficult to do that...

We would need development snapshots of LDC in Debian, which we don't do and which would be very impractical for every commit. As soon as stuff has hit Debian, we already have problems, so testing this upstream would be much more helpful.

That being said... LDC 1.4.0 built against LLVM 5 does not show the issue found in this bug report. It's rather crazy and makes me thing even more that this might actually be an LLVM bug (just like the last elusive crash on armhf & co. with LDC was).
Let's wait for all rdeps on Debian to rebuild against the new LDC to confirm this is really fixed (I only built two rdeps that were failing before).

Member

kinke commented Sep 18, 2017

LDC 1.4.0 built against LLVM 5 does not show the issue found in this bug report.

Oh, good news at last ;) - some last-minute debuginfo fixes made it into LDC 1.4 exactly because LLVM 5.0 brought quite a few changes (and improvements) to their debuginfo interface/generation. Thanks Matthias, I hope it works out for the other packages as well.

Oh, good news at last ;) - some last-minute debuginfo fixes made it into LDC 1.4 exactly because LLVM >5.0 brought quite a few changes (and improvements) to their debuginfo interface/generation. Thanks >Matthias, I hope it works out for the other packages as well.

somewhat I think they broke the Ubuntu builds:
https://launchpadlibrarian.net/337380158/buildlog_ubuntu-artful-amd64.ldc_1%3A1.4.0-1_BUILDING.txt.gz

[ 22%] Generating src/core/cpuid.o
cd /<<PKGBUILDDIR>>/bootstrap && /<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2 --output-o -c -I/<<PKGBUILDDIR>>/bootstrap/runtime/druntime/src -I/<<PKGBUILDDIR>>/bootstrap/runtime/druntime/src/gc /<<PKGBUILDDIR>>/bootstrap/runtime/druntime/src/core/cpuid.d -of/<<PKGBUILDDIR>>/bootstrap/b/runtime/src/core/cpuid.o -w -relocation-model=pic -O3 -release -disable-invariants
invalid expression
!228 = !DIExpression(6, 34, 0)
invalid expression
!1308 = !DIExpression(34, 0)
invalid expression
!1365 = !DIExpression(6, 34, 16)
ldc2: /build/llvm-toolchain-5.0-wGHnpj/llvm-toolchain-5.0-5.0/lib/IR/Verifier.cpp:4681: virtual bool {anonymous}::VerifierLegacyPass::doFinalization(llvm::Module&): Assertion `!V->hasBrokenDebugInfo() && "Module contains invalid debug info"' failed.
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x2a)[0x7f28e05d51fa]
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x56)[0x7f28e05d3126]
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(+0x872285)[0x7f28e05d3285]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x13150)[0x7f28e419e150]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f28df2dc0bb]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16d)[0x7f28df2ddf5d]
/lib/x86_64-linux-gnu/libc.so.6(+0x2ef17)[0x7f28df2d3f17]
/lib/x86_64-linux-gnu/libc.so.6(+0x2efc2)[0x7f28df2d3fc2]
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(+0x9de3df)[0x7f28e073f3df]
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(_ZN4llvm13FPPassManager14doFinalizationERNS_6ModuleE+0x83)[0x7f28e06c5953]
/usr/lib/x86_64-linux-gnu/libLLVM-5.0.so.1(_ZN4llvm6legacy23FunctionPassManagerImpl14doFinalizationERNS_6ModuleE+0xa7)[0x7f28e06c5a47]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(_Z19ldc_optimize_modulePN4llvm6ModuleE+0x324)[0x5c274b0894]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(_Z11writeModulePN4llvm6ModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x34)[0x5c27385384]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(_ZN3ldc13CodeGenerator20writeAndFreeLLModuleEPKc+0x231)[0x5c2737d8a1]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(_ZN3ldc13CodeGenerator4emitEP6Module+0xd5)[0x5c2737e145]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(main+0x1a63)[0x5c2736cf53]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f28df2c61c1]
/<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2(_start+0x2a)[0x5c2737552a]
[ 22%] Generating std/bigint.o
cd /<<PKGBUILDDIR>>/bootstrap && /<<PKGBUILDDIR>>/bootstrap/b/bin/ldc2 --output-o -c -I/<<PKGBUILDDIR>>/bootstrap/runtime/druntime/src -I/<<PKGBUILDDIR>>/bootstrap/runtime/druntime/src/gc /<<PKGBUILDDIR>>/bootstrap/runtime/phobos/std/bigint.d -of/<<PKGBUILDDIR>>/bootstrap/b/runtime/std/bigint.o -w -relocation-model=pic -O3 -release -I/<<PKGBUILDDIR>>/bootstrap/runtime/phobos
Aborted (core dumped)
runtime/CMakeFiles/druntime-ldc-debug.dir/build.make:120: recipe for target 'runtime/src/core/demangle-debug.o' failed
Member

JohanEngelen commented Sep 18, 2017

Yeah compiling the stdlibs with debuginfo on is broken with 0.17.5+LLVM5. You have to disable it: perhaps try -DD_FLAGS_DEBUG="". It's only for bootstrapping, so you don't need to build the debug version of the stdlibs. Perhaps we should have disabled it... :/ (although things build fine on travis...?!)

hurray! seems to be working! I still have a zlib link failure I'll figure out tomorrow

thanks

Contributor

ximion commented Sep 18, 2017

Reminds me that we should really upstream most of the patches Debian carries... Fedora already asked for that, since they need to apply exactly the same changes.

Contributor

ximion commented Sep 19, 2017

@LocutusOfBorg Thank you! I wonder why this doesn't show on Debian...

Remove some more embedded zlib references

We likely want that one too... Do you want to become member of the pkg-d team? That would give you commit access to the LDC Git branch and you could add the changes yourself (and you don't even need to be Debian Developer for that, an Alioth (or soon Salsa) account is enough).

I wonder why this doesn't show on Debian...
"warning: ignoring invalid debug info in /<>/bootstrap/runtime/druntime/src/core/demangle.d"

probably the llvm in Debian has not built against new gcc-7 and they are still warnings (I'm wondering that gcc-switch is the culprit for that segfault)
Ubuntu llvm is built with "-Wl,-fuse-ld=gold -Wl,--no-keep-files-mapped -Wl,--no-map-whole-files"

so maybe this change (that will be uploaded in Debian soon, e.g. already uploaded in llvm 3.9 yesterday), will make ldc fail on armhf.
We had to do that because seems that the debug symbols produced by new binutils/gcc are too big for the build machines, and everything fails with default settings.

We likely want that one too... Do you want to become member of the pkg-d team?

I would like to avoid that, I definitively have no interest in maintaining packages I don't understand :)

That would give you commit access to the LDC Git branch and you could add the changes yourself >(and you don't even need to be Debian Developer for that, an Alioth (or soon Salsa) account is >enough).
the reason for me not updating git is because I'm not confortable with changes, e.g. that change links zlib everywhere, maybe there is another place to link it only when needed (even if I failed in that attempt, basically because the new ldc seems to use it internally).

I would like a double review for the changes I'm making to be honest

Member

kinke commented Sep 19, 2017

So you guys replace the zlib embedded in Phobos by a reference to the shared zlib library? Do you only ship with shared druntime/Phobos? And do you add -L-lz to the default switches in ldc2.conf?
Just wondering how a proper upstream patch should look like, as relying on shared external zlib for shared Phobos makes sense to me. Unsure about static Phobos.

@ximion ximion changed the title from LDC 1.3.x + LLVM 4.0 results in compiler crashes when building rdeps to LDC 1.3.x/1.4.x + LLVM 4.0/5.0 results in compiler crashes when building rdeps Sep 20, 2017

Contributor

ximion commented Sep 20, 2017

@kinke It appears like the issue is not fixed yet... Instead it just seems to happen less frequently: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875535#34

Member

kinke commented Sep 20, 2017

Nope, that is something completely different, independent of -g, just verified:

Starting program: /home/martin/ldc2-1.4.0-linux-x86_64/bin/ldc2 -I../undeaD/src -I../BioD -I.. -I../sambamba -I../htslib -O2 -release -c ../sambamba/depth.d

Program received signal SIGSEGV, Segmentation fault.
#0  0x0000000000656887 in DtoTypeInfoOf(Type*, bool) ()
#1  0x00000000006e01ef in (anonymous namespace)::DtoArrayEqCmp_impl(Loc&, char const*, DValue*, DValue*, bool) ()
#2  0x00000000006e0763 in DtoArrayEquals(Loc&, TOK, DValue*, DValue*) ()
#3  0x00000000006a1a40 in ToElemVisitor::visit(EqualExp*) ()

Crashes with LDC 1.4 and 1.3; 1.2 compiles. Most likely once again specific to separate compilation; the official sambamba (master) Makefile compiles fine with LDC 1.4 (all-at-once compilation).

Contributor

ximion commented Sep 20, 2017

@kinke Ah, "good" :P Thanks for looking at it more closely, I just got the bug report last night...

Contributor

ximion commented Sep 29, 2017

@kinke So, should I close this bug and file another one for the crash shown in builds like https://buildd.debian.org/status/fetch.php?pkg=libundead&arch=amd64&ver=1.0.7-1%2Bb1&stamp=1504166890&raw=0 ?
This bug also appears to be arch-specific this time, all architectures except for i386 are affected.

Contributor

ximion commented Sep 29, 2017

Actually, it appears like this build was done against an older LDC version... So, let's wait for all things to rebuild again, this time against an even newer version.

Member

kinke commented Sep 29, 2017

This smells like #2302, which has been fixed in #2330. Edit: Erm, nope.

Contributor

ximion commented Sep 30, 2017

@kinke This sounds like a patch we want anyway though, thanks! (applied now) - let's see what builds and what doesn't (our build team should start a mass rebuild of D stuff in the archive soonish).

Contributor

ximion commented Sep 30, 2017

Oh, an OT (abusing this report a little for general messages): @LocutusOfBorg the Debian package is updated with your changes now, and @kinke Does 5bbdac0 maybe resolve this error? -> https://anonscm.debian.org/git/pkg-d/ldc.git/commit/?id=ab626fb773e0a1a8181820d8cbb4117e6cd65d0c (relocation error: /usr/bin/ldc2: symbol LLVMInitializeRISCVTargetInfo...)

Member

kinke commented Sep 30, 2017

I highly doubt that. No idea what effect the comma had (part of the option name? probably :D). This smells more like an LLVM bug; something like the RISCV backend not being usable/compiled for the host architecture, but some other part of LLVM still trying to initialize it. LDC doesn't invoke that function directly.

Contributor

ximion commented Sep 30, 2017

@kinke I thought it was LLVm too, but for some weird reason it only happens if we use a pre-built LDC and do not bootstrap from the C++ version, which is pretty weird (I would expect to see this error in both cases). In any case, I guess it might be worth to report a new bug for this, or, once again, wait for LLVm to get fixed.

Contributor

ximion commented Oct 1, 2017

@LocutusOfBorg That one looks very close to this bug here again... Can you maybe also generate a backtrace?
Another thing that would be even more helpful would be to use Dustmite to maybe create a minimal testcase for this crash (takes a few hours, but the result is usually good). See https://packages.debian.org/sid/dustmite and https://github.com/CyberShadow/DustMite/wiki for information on how to get/use it.
Let's hope the LDC team finds what causes this.

Member

kinke commented Oct 1, 2017

The official sambamba Makefile uses rdmd and compiles all files at once. So IMO the best way to move forward is to adapt the official Makefile or at least compile all files at once too (strongly recommended). A very ugly workaround, -allinst, should also make it work.

Contributor

ximion commented Oct 1, 2017

@kinke We don't have rdmd and Ubuntu is in freeze right now - so this is not an option. Additionally, the Sambamba makefile does not fetch dependencies correctly (if I remember this), so quite a bit of work would be involved to make it work properly. Switching Meson to make an unity build might be an option, but in any case, I don't think the archive admins in Ubuntu will like that.
In Debian, such workarounds are heavily discouraged, because they hide a bug in other software.

Contributor

ximion commented Oct 1, 2017

@LocutusOfBorg Do you also get #2352 in Ubuntu?

Owner

klickverbot commented Oct 1, 2017

I highly doubt that. No idea what effect the comma had (part of the option name? probably :D)

Indeed – the flag with the correct name was still unset, but an option showed up with the comma in ccmake, etc. This was purely a cosmetic change as far as this discussion is concerned.

@LocutusOfBorg Do you also get #2352 in Ubuntu?

dont' know, I never tried to run it :)

Contributor

ximion commented Oct 2, 2017

@LocutusOfBorg It gets run as part of the build process of other packages, so it's rather easy to notice :P

oh... ok :)
https://launchpad.net/ubuntu/+source/gir-to-d/0.11.1-2/+build/13534082
this is now the main showstopper, anyway, I think I didn't get that bug because the transition is going on correctly (except for sambafoo and gir-to-d on ppc64el)

Contributor

ximion commented Oct 2, 2017

@LocutusOfBorg Yeah, we have the exact same bug in Debian:

Meson encountered an error in file meson.build, line 1, column 0:
Executables created by D compiler ldc2 are not runnable.

https://buildd.debian.org/status/logs.php?pkg=gir-to-d&ver=0.11.1-2&arch=ppc64el
That's rather scary, because to test the compiler, just an empty main function is built.
I hope we have a ppc64el porterbox that is ready, so I can get a backtrace for this.

https://db.debian.org/machines.cgi?host=plummer

this works there:

import ldc.attributes;

int main()
{
        return 1;
}

G.

Contributor

ximion commented Oct 2, 2017

@LocutusOfBorg The following is tried to be built & run in order to determine whether the compiler works:

void main() {
}

Does that also work on ppc64el? (also, why did you return 1?)

this is on ppc64el (plummer)

echo "void main() {}" > foo.d
ldc2 foo.d
./foo
echo $?
Starting program: /home/locutusofborg/foo 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc64le-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00003fffb799c3a0 in rt.util.container.array.Array!(void[]).Array.opSlice() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
(gdb) bt
#0  0x00003fffb799c3a0 in rt.util.container.array.Array!(void[]).Array.opSlice() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#1  0x00003fffb798eafc in rt.sections_elf_shared.DSO.gcRanges() inout () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#2  0x00003fffb7988c24 in rt.memory.initStaticDataGC().__foreachbody1(ref rt.sections_elf_shared.DSO) () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#3  0x00003fffb798e96c in rt.sections_elf_shared.DSO.opApply(scope int(ref rt.sections_elf_shared.DSO) delegate) () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#4  0x00003fffb7988bd4 in rt.memory.initStaticDataGC() () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#5  0x00003fffb797f3a4 in rt_init () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#6  0x00003fffb797f9d8 in _d_run_main () from /usr/lib/powerpc64le-linux-gnu/libdruntime-ldc.so.74
#7  0x0000000020000c34 in main ()
#8  0x00003fffb758289c in ?? () from /lib/powerpc64le-linux-gnu/libc.so.6
#9  0x00003fffb7582ab8 in __libc_start_main () from /lib/powerpc64le-linux-gnu/libc.so.6
#10 0x0000000000000000 in ?? ()
''`

Does that also work on ppc64el? (also, why did you return 1?)

because I didn't pay attention to what I wrote :p (actually, who cares about the return value? the problem is not there I presume)

anyhow, it segfaults during startup, so I presume ldc is seriously broken on ppc64el right now

Contributor

ximion commented Oct 2, 2017

@LocutusOfBorg Can you report a new bug for this?

Contributor

ximion commented Oct 7, 2017

I think we can resolve this because it was an LLVM bug.
The only remaining bugs (this time really LDC-specific) that are blocking LDC 1.4 now are #2356 and #2357

@ximion ximion closed this Oct 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment