Skip to content

modernize-min-max-use-initializer-list clang-tidy check crash #92249

Closed
@VitaNuo

Description

@VitaNuo

Reproducer

// foo.cc
#include <algorithm>

namespace foo {

struct Bar {
  unsigned getFoo();
};

unsigned Func(Bar* b) {
 return std::max(std::max(b->getFoo(), b->getFoo()), b->getFoo());
}
}  

Command

clang-tidy -checks=-*,modernize-min-max-use-initializer-list foo.cc

Stack trace

clang::tidy::modernize::findArgs
clang::tidy::modernize::generateReplacements
clang::tidy::modernize::MinMaxUseInitializerListCheck::check
clang::ast_matchers::internal::::MatchASTVisitor::MatchVisitor::visitMatch
clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches
clang::ast_matchers::internal::::MatchASTVisitor::matchWithFilter
clang::ast_matchers::internal::::MatchASTVisitor::matchDispatch
clang::ast_matchers::internal::::MatchASTVisitor::match
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseImplicitCastExpr
clang::RecursiveASTVisitor::dataTraverseNode
clang::ast_matchers::internal::::MatchASTVisitor::dataTraverseNode
clang::RecursiveASTVisitor::TraverseStmt
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseVarHelper
clang::RecursiveASTVisitor::TraverseVarDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseDeclStmt
clang::RecursiveASTVisitor::dataTraverseNode
clang::ast_matchers::internal::::MatchASTVisitor::dataTraverseNode
clang::RecursiveASTVisitor::TraverseStmt
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseFunctionHelper
clang::RecursiveASTVisitor::TraverseCXXMethodDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseDeclContextHelper
clang::RecursiveASTVisitor::TraverseNamespaceDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseTranslationUnitDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseAST
clang::ast_matchers::MatchFinder::matchAST
clang::clangd::ParsedAST::build
clang::clangd::::ASTWorker::generateDiagnostics
clang::clangd::::ASTWorker::updatePreamble::$_0::operator()
llvm::function_ref::operator()
clang::clangd::::ASTWorker::runTask
clang::clangd::::ASTWorker::run
clang::clangd::::ASTWorker::create::$_0::operator()
llvm::detail::UniqueFunctionBase::CallImpl
llvm::unique_function::operator()
clang::clangd::AsyncTaskRunner::runAsync::$_1::operator()
llvm::thread::GenericThreadProxy::{lambda#1}::operator()
std::__u::__invoke
std::__u::__apply_tuple_impl
std::__u::apply
llvm::thread::GenericThreadProxy
llvm::thread::ThreadProxy

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions