<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 25, 2013 at 1:45 PM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>Try CXXRecordDecl::getDescribedClassTemplate() -- it will return a<br>


corresponding ClassTemplateDecl given a CXXRecordDecl for 'A' in:<br>
template<typename T> struct A {};</div></blockquote></div><br>Okay, that worked nicely for that source.  Going back to the source I started with, I hit a different abort, in llvm_unreachable_internal() instead:<br>
<br>Should not see dependent types<div class="gmail_extra">UNREACHABLE executed at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp:1322!</div><div class="gmail_extra"><br></div><div class="gmail_extra">
Program received signal SIGABRT, Aborted.</div><div class="gmail_extra">0x00002aaaab39ef45 in raise () from /lib64/libc.so.6</div><div class="gmail_extra">(gdb) where</div><div class="gmail_extra">#0  0x00002aaaab39ef45 in raise () from /lib64/libc.so.6</div>
<div class="gmail_extra">#1  0x00002aaaab3a0340 in abort () from /lib64/libc.so.6</div><div class="gmail_extra">#2  0x0000000000f0281c in llvm::llvm_unreachable_internal (msg=0x132cbc8 "Should not see dependent types",</div>
<div class="gmail_extra">    file=0x132c1b8 "/home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp", line=1322)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/lib/Support/ErrorHandling.cpp:98</div>
<div class="gmail_extra">#3  0x0000000000c1c948 in clang::ASTContext::getTypeInfoImpl (this=0x1b38300, T=0x39190b0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp:1322</div>
<div class="gmail_extra">#4  0x0000000000c1c86d in clang::ASTContext::getTypeInfo (this=0x1b38300, T=0x39190b0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp:1301</div>
<div class="gmail_extra">#5  0x0000000000c1c752 in clang::ASTContext::getTypeInfoInChars (this=0x1b38300, T=0x39190b0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp:1286</div>
<div class="gmail_extra">#6  0x0000000000c1c7cc in clang::ASTContext::getTypeInfoInChars (this=0x1b38300, T=...)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/ASTContext.cpp:1293</div>
<div class="gmail_extra">#7  0x0000000000d65b47 in (anonymous namespace)::RecordLayoutBuilder::LayoutField (this=0x7fffffffa690, D=0x39195a0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2068</div>
<div class="gmail_extra">#8  0x0000000000d64af6 in (anonymous namespace)::RecordLayoutBuilder::LayoutFields (this=0x7fffffffa690, D=0x39193f0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:1835</div>
<div class="gmail_extra">#9  0x0000000000d63ded in (anonymous namespace)::RecordLayoutBuilder::Layout (this=0x7fffffffa690, RD=0x39193f0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:1651</div>
<div class="gmail_extra">#10 0x0000000000d6715d in clang::ASTContext::getASTRecordLayout (this=0x1b38300, D=0x39193f0)</div><div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2484</div>
<div class="gmail_extra">#11 0x0000000000d6775f in getFieldOffset (C=..., FD=0x3919600) at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2582</div><div class="gmail_extra">#12 0x0000000000d677bc in clang::ASTContext::getFieldOffset (this=0x1b38300, VD=0x3919600)</div>
<div class="gmail_extra">    at /home/hotellnx94/peeterj/clang/sources/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2589</div><div class="gmail_extra">#13 0x0000000000464785 in MyASTVisitor::myVisitFieldDecl (this=0x7fffffffb700, classname=..., f=0x3919600) at ./memberdumper.h:12</div>
<div><br></div><div class="gmail_extra"><div style>I'm having trouble producing a standalone sample for this internal error.  I'm guessing this isn't expected or a known issue.</div><div><br></div></div>-- <br>
Peeter
</div></div>