diff options
author | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2025-02-21 10:34:14 +0800 |
---|---|---|
committer | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2025-02-21 10:48:30 +0800 |
commit | 24c06a19be7bcf28b37e5eabbe65df95a2c0265a (patch) | |
tree | d604c3677c13d4fdda10e7ca8271f32a0d49a7ea /clang/lib/Sema/SemaDecl.cpp | |
parent | 6e5f26bba87be02ea4c1220898031c441c2562fc (diff) | |
download | llvm-24c06a19be7bcf28b37e5eabbe65df95a2c0265a.zip llvm-24c06a19be7bcf28b37e5eabbe65df95a2c0265a.tar.gz llvm-24c06a19be7bcf28b37e5eabbe65df95a2c0265a.tar.bz2 |
[C++20] [Modules] handling selectAny attribute for vardecl
Close https://github.com/llvm/llvm-project/issues/127963
The root cause of the problem seems to be that we didn't realize it
simply.
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index d95763b..32cc9d33 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -4803,7 +4803,8 @@ bool Sema::checkVarDeclRedefinition(VarDecl *Old, VarDecl *New) { (New->getFormalLinkage() == Linkage::Internal || New->isInline() || isa<VarTemplateSpecializationDecl>(New) || New->getDescribedVarTemplate() || New->getNumTemplateParameterLists() || - New->getDeclContext()->isDependentContext())) { + New->getDeclContext()->isDependentContext() || + New->hasAttr<SelectAnyAttr>())) { // The previous definition is hidden, and multiple definitions are // permitted (in separate TUs). Demote this to a declaration. New->demoteThisDefinitionToDeclaration(); |