[clang] [clang] Distinguish unresolved templates in UnresolvedLookupExpr (PR #89019)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 17 05:44:25 PDT 2024
================
@@ -186,3 +186,74 @@ class E {
#endif
template<typename T> using D = int; // expected-note {{declared here}}
E<D> ed; // expected-note {{instantiation of}}
+
+namespace non_functions {
+
+#if __cplusplus >= 201103L
+namespace PR88832 {
+template <typename T> struct O {
+ static const T v = 0;
+};
+
+struct P {
+ template <typename T> using I = typename O<T>::v; // #TypeAlias
+};
+
+struct Q {
+ template <typename T> int foo() {
+ return T::template I<int>; // expected-error {{'P::I' is expected to be a non-type template, but instantiated to a type alias template}}
+ // expected-note@#TypeAlias {{type alias template declared here}}
----------------
Sirraide wrote:
The same applies to the other diagnostics using markers below.
https://github.com/llvm/llvm-project/pull/89019
More information about the cfe-commits
mailing list