v.g.vassilev added a subscriber: Hahnfeld. v.g.vassilev added a comment. The issue goes away for non-CXXMethodDecls but still persists in the case where we process:
CXXDestructorDecl 0x9ab0f48 </usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:121:11> col:11 implicit used ~shared_ptr 'void () noexcept' inline default `-CompoundStmt 0x9ac3ca0 <col:11> Here is a bt: #0 llvm::Value::getPointerAlignment (this=0x9dcbed8, DL=...) at /home/vvassilev/workspace/sources/llvm-project/llvm/lib/IR/Value.cpp:923 #1 0x0000000001b32b52 in clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition (this=0x885e3c0, D=0x9ab0f48, F=0x9dcbed8) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:2389 #2 0x0000000001d40899 in clang::CodeGen::CodeGenModule::codegenCXXStructor (this=0x885e3c0, GD=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CGCXX.cpp:211 #3 0x0000000001bbffd5 in (anonymous namespace)::ItaniumCXXABI::emitCXXStructor (this=0x885f2f0, GD=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/ItaniumCXXABI.cpp:4453 #4 0x0000000001b36ffb in clang::CodeGen::CodeGenModule::EmitGlobalDefinition (this=this@entry=0x885e3c0, GD=..., GV=GV@entry=0x9dcbed8) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3893 #5 0x0000000001b2a9a0 in clang::CodeGen::CodeGenModule::EmitDeferred (this=this@entry=0x885e3c0) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3050 #6 0x0000000001b2a9cc in clang::CodeGen::CodeGenModule::EmitDeferred (this=this@entry=0x885e3c0) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:3056 #7 0x0000000001b285bb in clang::CodeGen::CodeGenModule::Release (this=0x885e3c0) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:759 #8 0x0000000001882908 in (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit (this=0x87c6430, Ctx=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:287 #9 0x000000000186e3a6 in clang::BackendConsumer::HandleTranslationUnit (this=0x87c6080, C=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:311 #10 0x0000000000f7bdc7 in clang::IncrementalParser::ParseOrWrapTopLevelDecl (this=this@entry=0x87603c0) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:303 #11 0x0000000000f7c760 in clang::IncrementalParser::Parse (this=0x87603c0, input=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:342 #12 0x0000000000f70c79 in clang::Interpreter::Parse (this=0x875d170, Code=...) at /home/vvassilev/workspace/sources/llvm-project/clang/lib/Interpreter/Interpreter.cpp:360 #13 0x0000000000e28b11 in Cpp::Interpreter::Parse (this=0x86e9cf0, Code=...) at /home/vvassilev/workspace/builds/scratch/cppyy/InterOp/include/clang/Interpreter/CppInterOpInterpreter.h:172 #14 0x0000000000e28b84 in Cpp::Interpreter::declare (this=0x86e9cf0, input="\n #include <memory>\n\n template<typename T>\n class derived_shared_ptr : public std::shared_ptr<T> {};\n template<typename T>\n class derived_unique_ptr : public std::unique_ptr<T> {};\n\n "..., PTU=0x0) I am staring at the `Value::getPointerAlignment(const DataLayout &DL)` and cannot find out what might be wrong. One particularity of the clang-repl based workflows is that it calls multiple times `StartModule`, which creates a new `llvm::Module` per partial translation unit. cc: @Hahnfeld Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D159339/new/ https://reviews.llvm.org/D159339 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits