[clang] [Clang] Emit a diagnostic note at the class declaration when the method definition does not match any declaration. (PR #110638)

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 2 02:20:06 PDT 2024


================
@@ -102,12 +102,13 @@ namespace MultilevelSpecialization {
   // default argument -- how far back do we look when determining whether a
   // parameter was expanded from a pack?
   //   -- zygoloid 2020-06-02
-  template<typename ...T> struct B {
+  template<typename ...T> struct B { // #defined-here
     template <T... V> void f(int i = 0, int (&... arr)[V]);
   };
   template<> template<int a, int b>
     void B<int, int>::f(int i, int (&arr1)[a], int (&arr2)[b]) {}
     // since-cxx11-error at -1 {{out-of-line definition of 'f' does not match any declaration in 'cwg2233::MultilevelSpecialization::B<int, int>'}}
+    // expected-note@#defined-here {{defined here}}
----------------
Endilll wrote:

```suggestion
    //   since-cxx11-note@#cwg2233-B {{defined here}}
```

https://github.com/llvm/llvm-project/pull/110638


More information about the cfe-commits mailing list