[all-commits] [llvm/llvm-project] ac047a: [clang] fix NestedNameSpecifier dependency calcula...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Wed Apr 9 11:42:25 PDT 2025
Branch: refs/heads/users/mizvekov/fix-nns-dependency
Home: https://github.com/llvm/llvm-project
Commit: ac047a66e82cc3cf806e234e781fc5aa79ee8d85
https://github.com/llvm/llvm-project/commit/ac047a66e82cc3cf806e234e781fc5aa79ee8d85
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix NestedNameSpecifier dependency calculation
A NestedNameSpecifier of TypeSpec kind can be non-dependent even if its
prefix is dependent, when for example the prefix is an injected class type
but the type itself is a simple alias to a non-dependent type.
This issue was a bit hard to observe because if its an alias to
a class type, then we (for some unknown reason) ignored that the
NNS was dependent in the first place, which wouldn't happen
with an enum type.
This could have been a workaround for previous dependency bugs,
and is not relevant anymore for any of the test cases in the
tree, so this patch also removes that.
The other kinds of dependencies are still relevant.
If the prefix contains an unexpanded pack, then this NNS is still
unexpanded, and likewise for errors.
This fixes a regression reported here: https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787909829
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list