1 // PR c++/12909
2 // { dg-do compile { target i?86-*-* x86_64-*-* } }
3 // { dg-require-weak "" }
4 // { dg-require-alias "" }
5 // { dg-options "-mavx -Wabi -fabi-version=2" }
6 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIDv4_fEvT_" } }
7 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIU8__vectorfEvT_" } }
8 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_ZN1AIDv4_fE1tE" } }
9 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_ZN1AIU8__vectorfE1tE" } }
10
11 #include <x86intrin.h>
12
13 template <class T>
14 struct A
15 {
16 static T t;
17 };
18
19 template <class T>
20 T A<T>::t; // { dg-warning "mangled name" }
21
22 template <class T>
f(T t)23 void f (T t) { } // { dg-warning "mangled name" }
24
main()25 int main()
26 {
27 f (A<__m128>::t);
28 }
29