Description
I install llvm-20 release pkg and use clang++-20 to compile a CUDA kernel which call cutlass interface, it success; then I git clone the llvm-19 project and built it locally, then use clang++ to compile the same kernel, but it fail, compile errors is as below:
clang-19: /data/llvm/clang/lib/AST/ExprClassification.cpp:72: Cl clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const: Assertion `isPRValue()' failed.
#0 0x00005f3c26f1cb36 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x00005f3c26f1cf57 PrintStackTraceSignalHandler(void*) /data/llvm/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x00005f3c26f1a3a7 llvm::sys::RunSignalHandlers() /data/llvm/llvm/lib/Support/Signals.cpp:105:20
#3 0x00005f3c26f1c3ce SignalHandler(int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x000072624b3bd520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x000072624b4119fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x000072624b4119fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x000072624b4119fc pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x000072624b3bd476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x000072624b3a37f3 abort ./stdlib/abort.c:81:7
#10 0x000072624b3a371b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x000072624b3b4e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x00005f3c2d29846b clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const /data/llvm/clang/lib/AST/ExprClassification.cpp:58:5
#13 0x00005f3c2b9e0760 clang::Expr::Classify(clang::ASTContext&) const /data/llvm/clang/include/clang/AST/Expr.h:407:3
#14 0x00005f3c2c485d85 clang::Sema::DeduceAutoType(clang::TypeLoc, clang::Expr*, clang::QualType&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::TemplateSpecCandidateSet*) /data/llvm/clang/lib/Sema/SemaTemplateDeduction.cpp:5280:61
#15 0x00005f3c2c252431 clang::Sema::CheckTemplateArgument(clang::NonTypeTemplateParmDecl*, clang::QualType, clang::Expr*, clang::TemplateArgument&, clang::TemplateArgument&, clang::Sema::CheckTemplateArgumentKind) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:7879:25
#16 0x00005f3c2c24bc83 clang::Sema::CheckTemplateArgument(clang::NamedDecl*, clang::TemplateArgumentLoc&, clang::NamedDecl*, clang::SourceLocation, clang::SourceLocation, unsigned int, llvm::SmallVectorImplclang::TemplateArgument&, llvm::SmallVectorImplclang::TemplateArgument&, clang::Sema::CheckTemplateArgumentKind) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:6374:45
#17 0x00005f3c2c24cc62 clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool, llvm::SmallVectorImplclang::TemplateArgument&, llvm::SmallVectorImplclang::TemplateArgument&, bool, bool*, bool) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:6665:32
#18 0x00005f3c2c243f04 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:4617:32
#19 0x00005f3c2c245a48 clang::Sema::ActOnTemplateIdType(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtrclang::TemplateName, clang::IdentifierInfo const*, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRefclang::ParsedTemplateArgument, clang::SourceLocation, bool, bool, clang::ImplicitTypenameContext) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:4930:40
#20 0x00005f3c2b3571ca clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec&, clang::ImplicitTypenameContext, bool) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:1364:40
#21 0x00005f3c2b25a27a clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) /data/llvm/clang/lib/Parse/ParseDecl.cpp:4165:7
#22 0x00005f3c2b22bc39 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) /data/llvm/clang/include/clang/Parse/Parser.h:2500:38
#23 0x00005f3c2b352f8d clang::Parser::ParseDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:238:13
#24 0x00005f3c2b352bfb clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:178:39