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


Reply via email to