Issue |
89376
|
Summary |
[clang-tidy][crash] Crash in misc-const-correctness
|
Labels |
clang-tidy
|
Assignees |
|
Reporter |
chrchr-github
|
Split from [60895](https://github.com/llvm/llvm-project/issues/60895)
~~~c++
void f() { int& a = a; }
~~~
~~~
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /clang-tidy --checks=misc-const-correctness <source>
1. <eof> parser at end of file
2. ASTMatcher: Processing 'misc-const-correctness' against:
FunctionDecl f : <<source>:1:1, col:23>
--- Bound Nodes Begin ---
decl-stmt - { DeclStmt : <<source>:1:12, col:21> }
function-decl - { FunctionDecl f : <<source>:1:1, col:23> }
local-value - { VarDecl a : <<source>:1:12, col:20> }
scope - { CompoundStmt : <<source>:1:10, col:23> }
--- Bound Nodes End ---
#0 0x0000000004e1aa08 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/clang-tidy+0x4e1aa08)
#1 0x0000000004e1837c SignalHandler(int) Signals.cpp:0:0
#2 0x00007f45f2e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x0000000003bf62b2 clang::ParentMapContext::traverseIgnored(clang::DynTypedNode const&) const (/clang-tidy+0x3bf62b2)
#4 0x000000000397b2df clang::ast_matchers::internal::DynTypedMatcher::matches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const (/clang-tidy+0x397b2df)
#5 0x000000000397cf99 clang::ast_matchers::internal::(anonymous namespace)::VariadicMatcher<&clang::ast_matchers::internal::anyOfVariadicOperator(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*, llvm::ArrayRef<clang::ast_matchers::internal::DynTypedMatcher>)>::dynMatches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const ASTMatchersInternal.cpp:0:0
#6 0x000000000397b303 clang::ast_matchers::internal::DynTypedMatcher::matches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const (/clang-tidy+0x397b303)
#7 0x000000000397cf99 clang::ast_matchers::internal::(anonymous namespace)::VariadicMatcher<&clang::ast_matchers::internal::anyOfVariadicOperator(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*, llvm::ArrayRef<clang::ast_matchers::internal::DynTypedMatcher>)>::dynMatches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const ASTMatchersInternal.cpp:0:0
#8 0x000000000397c461 clang::ast_matchers::internal::(anonymous namespace)::IdDynMatcher::dynMatches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const ASTMatchersInternal.cpp:0:0
#9 0x000000000397b303 clang::ast_matchers::internal::DynTypedMatcher::matches(clang::DynTypedNode const&, clang::ast_matchers::internal::ASTMatchFinder*, clang::ast_matchers::internal::BoundNodesTreeBuilder*) const (/clang-tidy+0x397b303)
#10 0x000000000392ef53 bool clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor::match<clang::Stmt>(clang::Stmt const&) ASTMatchFinder.cpp:0:0
#11 0x0000000003938443 clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.constprop.0) ASTMatchFinder.cpp:0:0
#12 0x0000000003933c5f clang::RecursiveASTVisitor<clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor>::TraverseDecl(clang::Decl*) ASTMatchFinder.cpp:0:0
#13 0x0000000003934811 clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor::TraverseDecl(clang::Decl*) ASTMatchFinder.cpp:0:0
#14 0x0000000003935a4b clang::RecursiveASTVisitor<clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) ASTMatchFinder.cpp:0:0
#15 0x0000000003938388 clang::RecursiveASTVisitor<clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) ASTMatchFinder.cpp:0:0
#16 0x00000000039415fb clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) ASTMatchFinder.cpp:0:0
#17 0x0000000003935944 clang::RecursiveASTVisitor<clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) ASTMatchFinder.cpp:0:0
#18 0x0000000003938388 clang::RecursiveASTVisitor<clang::ast_matchers::internal::(anonymous namespace)::MatchChildASTVisitor>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*>>>>*) (.part.0) ASTMatchFinder.cpp:0:0
#19 0x000000000393fb5e clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::matchesRecursively(clang::DynTypedNode const&, clang::ast_matchers::internal::DynTypedMatcher const&, clang::ast_matchers::internal::BoundNodesTreeBuilder*, int, clang::ast_matchers::internal::ASTMatchFinder::BindKind) ASTMatchFinder.cpp:0:0
#20 0x00000000039409d7 clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::matchesDescendantOf(clang::DynTypedNode const&, clang::ASTContext&, clang::ast_matchers::internal::DynTypedMatcher const&, clang::ast_matchers::internal::BoundNodesTreeBuilder*, clang::ast_matchers::internal::ASTMatchFinder::BindKind) ASTMatchFinder.cpp:0:0
...snipped...
~~~
https://godbolt.org/z/T89sjEoan
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs