Open
Description
Check duplicate issues.
- Checked for duplicates
Description
This small macro crash ROOT:
{
for (int i = 0; i< 100; i++) {
auto hname = TString::Format("h%d", i);
auto h1 = new TH1I(hname, hanme, 100, -5, 5);
delete h1;
}
}
There is minimal typo in arguments: hanme
instead of hname
Here is stack trace output:
===========================================================
#6 0x00007fcae9926574 in clang::QualType::getSplitDesugaredType(clang::QualType) () from /home/linev/build/webgui/lib/libCling.so
#7 0x00007fcae9589636 in clang::ASTContext::getBaseElementType(clang::QualType) const () from /home/linev/build/webgui/lib/libCling.so
#8 0x00007fcae70c9805 in clang::CodeGen::CodeGenFunction::EmitAggExpr(clang::Expr const*, clang::CodeGen::AggValueSlot) () from /home/linev/build/webgui/lib/libCling.so
#9 0x00007fcae70ceffa in StoreAnyExprIntoOneUnit(clang::CodeGen::CodeGenFunction&, clang::Expr const*, clang::QualType, clang::CodeGen::Address, clang::CodeGen::AggValueSlot::Overlap_t) [clone .constprop.0] () from /home/linev/build/webgui/lib/libCling.so
#10 0x00007fcae70d84a1 in clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(clang::CXXNewExpr const*) () from /home/linev/build/webgui/lib/libCling.so
#11 0x00007fcae710203f in clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) () from /home/linev/build/webgui/lib/libCling.so
#12 0x00007fcae707e0ec in clang::CodeGen::CodeGenFunction::EmitScalarInit(clang::Expr const*, clang::ValueDecl const*, clang::CodeGen::LValue, bool) () from /home/linev/build/webgui/lib/libCling.so
#13 0x00007fcae7087438 in clang::CodeGen::CodeGenFunction::EmitAutoVarInit(clang::CodeGen::CodeGenFunction::AutoVarEmission const&) () from /home/linev/build/webgui/lib/libCling.so
#14 0x00007fcae70889ec in clang::CodeGen::CodeGenFunction::EmitVarDecl(clang::VarDecl const&) () from /home/linev/build/webgui/lib/libCling.so
#15 0x00007fcae7088b4d in clang::CodeGen::CodeGenFunction::EmitDecl(clang::Decl const&) () from /home/linev/build/webgui/lib/libCling.so
#16 0x00007fcae6da702f in clang::CodeGen::CodeGenFunction::EmitDeclStmt(clang::DeclStmt const&) () from /home/linev/build/webgui/lib/libCling.so
#17 0x00007fcae6db803d in clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) () from /home/linev/build/webgui/lib/libCling.so
#18 0x00007fcae6db2112 in clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) () from /home/linev/build/webgui/lib/libCling.so
#19 0x00007fcae6db2a99 in clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) () from /home/linev/build/webgui/lib/libCling.so
#20 0x00007fcae6db2d7d in clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) () from /home/linev/build/webgui/lib/libCling.so
#21 0x00007fcae6db80d5 in clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) () from /home/linev/build/webgui/lib/libCling.so
#22 0x00007fcae6db2112 in clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) () from /home/linev/build/webgui/lib/libCling.so
#23 0x00007fcae6db506b in clang::CodeGen::CodeGenFunction::EmitForStmt(clang::ForStmt const&, llvm::ArrayRef<clang::Attr const*>) () from /home/linev/build/webgui/lib/libCling.so
#24 0x00007fcae6db2a99 in clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) () from /home/linev/build/webgui/lib/libCling.so
#25 0x00007fcae6e06292 in clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) () from /home/linev/build/webgui/lib/libCling.so
#26 0x00007fcae6e14fef in clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) () from /home/linev/build/webgui/lib/libCling.so
#27 0x00007fcae6e51add in clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) () from /home/linev/build/webgui/lib/libCling.so
#28 0x00007fcae6e4ec24 in clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) () from /home/linev/build/webgui/lib/libCling.so
#29 0x00007fcae6e4f233 in clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) () from /home/linev/build/webgui/lib/libCling.so
#30 0x00007fcae6e55b4a in clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) [clone .part.0] () from /home/linev/build/webgui/lib/libCling.so
#31 0x00007fcae6d5b733 in clang::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) () from /home/linev/build/webgui/lib/libCling.so
#32 0x00007fcae72ca4a0 in clang::MultiplexConsumer::HandleTopLevelDecl(clang::DeclGroupRef) () from /home/linev/build/webgui/lib/libCling.so
#33 0x00007fcae6c6f8cf in cling::DeclCollector::HandleTopLevelDecl(clang::DeclGroupRef) () from /home/linev/build/webgui/lib/libCling.so
#34 0x00007fcae6c33a89 in cling::IncrementalParser::ParseInternal(llvm::StringRef) () from /home/linev/build/webgui/lib/libCling.so
#35 0x00007fcae6c34a1c in cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) () from /home/linev/build/webgui/lib/libCling.so
#36 0x00007fcae6b974f1 in cling::Interpreter::EvaluateInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) () from /home/linev/build/webgui/lib/libCling.so
#37 0x00007fcae6b9784a in cling::Interpreter::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::Value*, cling::Transaction**, bool) () from /home/linev/build/webgui/lib/libCling.so
#38 0x00007fcae6c852be in cling::MetaProcessor::readInputFromFile(llvm::StringRef, cling::Value*, unsigned long, bool) () from /home/linev/build/webgui/lib/libCling.so
===========================================================
Reproducer
Provided
ROOT version
Tested master and 6.28 branch on Linux
Installation method
build from source
Operating system
OpenSUSE Linux
Additional context
No response