Fixed. Thanks, Markus! - Yang
Markus Trippelsdorf wrote:
1) % gdb --args /var/tmp/creduce/creduce/../clang_delta/clang_delta --transformation=param-to-local --counter=6 clang_delta_crash_tmp_fileBmJ6xQ.ii Reading symbols from /var/tmp/creduce/clang_delta/clang_delta...done.(gdb) run Starting program: /var/tmp/creduce/clang_delta/clang_delta --transformation=param-to-local --counter=6 clang_delta_crash_tmp_fileBmJ6xQ.ii [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0000000000a6fdee in Transformation::lookupFunctionDeclFromBases (this=this@entry=0x1604370, DName=..., CXXRD=CXXRD@entry=0x168efd0) at Transformation.cpp:505 505 const CXXRecordDecl *Base = getBaseDeclFromType(Ty); (gdb) bt #0 0x0000000000a6fdee in Transformation::lookupFunctionDeclFromBases (this=this@entry=0x1604370, DName=..., CXXRD=CXXRD@entry=0x168efd0) at Transformation.cpp:505 #1 0x0000000000a6feb4 in Transformation::lookupFunctionDecl (this=0x1604370, DName=..., Ctx=<optimized out>) at Transformation.cpp:562 #2 0x00000000005d5a59 in CommonParameterRewriteVisitor<ParamToLocalRewriteVisitor, ParamToLocal>::VisitCallExpr (this=this@entry=0x165a1d0, CallE=CallE@entry=0x166c778) at CommonParameterRewriteVisitor.h:115 #3 0x00000000005d6763 in WalkUpFromCallExpr (S=0x166c778, this=0x165a1d0) at /usr/local/include/clang/AST/StmtNodes.inc:299 #4 clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseCallExpr (this=0x165a1d0, S=0x166c778) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:2166 #5 0x00000000005daf98 in clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseParenExpr (this=0x165a1d0, S=<optimized out>) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:2222 #6 0x00000000005dfc57 in clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseUnaryExprOrTypeTraitExpr (this=0x165a1d0, S=0x1673590) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:2071 #7 0x00000000005d6a12 in clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::dataTraverse (this=0x165a1d0, S=<optimized out>) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:458 #8 0x00000000005e16d4 in TraverseVarDecl (D=0x166c620, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1809 #9 clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseDecl (this=0x165a1d0, D=0x166c620) at /usr/local/include/clang/AST/DeclNodes.inc:385 #10 0x00000000005e14c6 in TraverseDeclContextHelper (DC=<optimized out>, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1245 #11 TraverseCXXRecordDecl (D=<optimized out>, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1617 #12 clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseDecl (this=0x165a1d0, D=<optimized out>) at /usr/local/include/clang/AST/DeclNodes.inc:227 #13 0x00000000005e1200 in TraverseClassTemplateDecl (D=0x166be30, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1463 #14 clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseDecl (this=0x165a1d0, D=0x166be30) at /usr/local/include/clang/AST/DeclNodes.inc:177 #15 0x00000000005e1ce6 in TraverseDeclContextHelper (DC=<optimized out>, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1245 #16 TraverseTranslationUnitDecl (D=<optimized out>, this=0x165a1d0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1333 #17 clang::RecursiveASTVisitor<ParamToLocalRewriteVisitor>::TraverseDecl (this=0x165a1d0, D=<optimized out>) at /usr/local/include/clang/AST/DeclNodes.inc:453 #18 0x00000000005c6840 in ParamToLocal::HandleTranslationUnit (this=0x1604370, Ctx=...) at ParamToLocal.cpp:89 #19 0x0000000000c1335b in clang::ParseAST(clang::Sema&, bool, bool) () #20 0x0000000000a8000a in TransformationManager::doTransformation (this=0x160de10, ErrorMsg="") at TransformationManager.cpp:187 #21 0x000000000045acce in main (argc=<optimized out>, argv=<optimized out>) at ClangDelta.cpp:188 2)% gdb --args /var/tmp/creduce/creduce/../clang_delta/clang_delta --transformation=copy-propagation --counter=1 clang_delta_crash_tmp_filejozDcb.i Reading symbols from /var/tmp/creduce/clang_delta/clang_delta...done.(gdb) run Starting program: /var/tmp/creduce/clang_delta/clang_delta --transformation=copy-propagation --counter=1 clang_delta_crash_tmp_filejozDcb.i [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. Transformation::getInitExprByIndex (this=<optimized out>, Idxs=..., ILE=<optimized out>) at Transformation.cpp:175 175 const Type *T = SubILE->getType().getTypePtr(); (gdb) bt #0 Transformation::getInitExprByIndex (this=<optimized out>, Idxs=..., ILE=<optimized out>) at Transformation.cpp:175 #1 0x0000000000a6e64e in Transformation::getInitExprFromBase (this=0x16024b0, BaseE=0x7fffffffddd0, Idxs=...) at Transformation.cpp:241 #2 0x0000000000a6e850 in Transformation::getMemberExprElem (this=this@entry=0x16024b0, ME=ME@entry=0x167ce40) at Transformation.cpp:297 #3 0x00000000004d6ed0 in CopyPropCollectionVisitor::VisitMemberExpr (this=this@entry=0x1657ff0, ME=ME@entry=0x167ce40) at CopyPropagation.cpp:190 #4 0x00000000004e3c55 in WalkUpFromMemberExpr (S=0x167ce40, this=0x1657ff0) at /usr/local/include/clang/AST/StmtNodes.inc:523 #5 clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseMemberExpr (this=0x1657ff0, S=0x167ce40) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1966 #6 0x00000000004dbc38 in clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseImplicitCastExpr (this=0x1657ff0, S=<optimized out>) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1973 #7 0x00000000004e4267 in TraverseImplicitParamDecl (D=0x167cdc0, this=0x1657ff0) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1813 #8 clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseDecl (this=0x1657ff0, D=0x167cdc0) at /usr/local/include/clang/AST/DeclNodes.inc:389 #9 0x00000000004d9404 in TraverseDeclStmt (S=<optimized out>, this=<optimized out>) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1885 #10 clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseStmt (this=0x1657ff0, S=0x167ce98) at /usr/local/include/clang/AST/StmtNodes.inc:91 #11 0x00000000004d9ee8 in clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseCompoundStmt (this=0x1657ff0, S=<optimized out>) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1904 #12 0x00000000004e3fbf in clang::RecursiveASTVisitor<CopyPropCollectionVisitor>::TraverseFunctionHelper (this=0x1657ff0, D=0x167c760) at /usr/local/include/clang/AST/RecursiveASTVisitor.h:1762 #13 0x00000000004d7d14 in CopyPropagation::HandleTopLevelDecl (this=0x16024b0, D=...) at CopyPropagation.cpp:244 #14 0x0000000000c13296 in clang::ParseAST(clang::Sema&, bool, bool) () #15 0x0000000000a8000a in TransformationManager::doTransformation (this=0x160de10, ErrorMsg="") at TransformationManager.cpp:187 #16 0x000000000045acce in main (argc=<optimized out>, argv=<optimized out>) at ClangDelta.cpp:188
