PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / abi / mangle32.C
blob6ae0113a27b9c273bf0d7a36064baa4e18c63bd7
1 // Testcase for mangling of unnamed types.
3 // namespace-scope unnamed types have no linkage, so we only test that they
4 // are distinct.
6 // { dg-do compile { target c++11 } }
8 typedef struct { } *A;
9 typedef struct { } *B;
11 void f(A) { }
12 void f(B) { }
14 struct C
16   typedef struct { }* D;
17   typedef enum { e }* E;
20 // { dg-final { scan-assembler "_Z2g1PN1CUt_E" } }
21 void g1(C::D) { }
22 // { dg-final { scan-assembler "_Z2g2PN1CUt0_E" } }
23 void g2(C::E) { }
25 template <class T>
26 void h1(T t) { }
28 template <class T>
29 void h2(T t) { }
31 inline void j()
33   typedef enum { f }* F;
34 // { dg-final { scan-assembler "_Z2h1IPZ1jvEUt_EvT_" } }
35   h1(F());
36   typedef struct { }* G;
37 // { dg-final { scan-assembler "_Z2h2IPZ1jvEUt0_EvT_" } }
38   h2(G());
41 int main()
43   j();