1 // PR c++/69317 - [6 regression] wrong ABI version in -Wabi warnings
2 // Exercise that the correct ABI versions are referenced in the -Wabi
3 // diagnostic.  See also the equivalent Wabi-2-3.C test.
4 
5 // { dg-options "-Wabi=3 -fabi-version=2" }
6 // { dg-do compile }
7 
8 // The mangling of templates with a non-type template parameter
9 // of reference type changed in ABI version 3:
10 extern int N;
11 template <int &> struct S { };
12 
13 // Expect the diagnostic to reference the ABI version specified via
14 // -fabi-version=2 and the ABI version specified via -Wabi=3.
foo(S<N>)15 void foo (S<N>) { }   // { dg-warning "the mangled name of .void foo\\(S<N>\\). changes between .-fabi-version=2. \\(._Z3foo1SILZ1NEE.\\) and .-fabi-version=3. \\(._Z3foo1SIL_Z1NEE.\\)" }
16 
17