2 // { dg-do compile { target c++11 } }
3 // { dg-additional-options "-Wno-pedantic" }
5 // Verify we mangle __alignof__ differently from alignof.
9 template <class T> void f1(decltype(alignof(T))) { }
10 template <class T> void f2(decltype(alignof(T{}))) { }
11 template <class T> void f3(decltype(__alignof__(T))) { }
12 template <class T> void f4(decltype(__alignof__(T{}))) { }
14 template void f1<int>(std::size_t);
15 template void f2<int>(std::size_t);
16 template void f3<int>(std::size_t);
17 template void f4<int>(std::size_t);
19 // { dg-final { scan-assembler "_Z2f1IiEvDTatT_E" } }
20 // { dg-final { scan-assembler "_Z2f2IiEvDTaztlT_EE" } }
21 // { dg-final { scan-assembler "_Z2f3IiEvDTu11__alignof__T_EE" } }
22 // { dg-final { scan-assembler "_Z2f4IiEvDTu11__alignof__XtlT_EEEE" } }