xref: /llvm-project/clang/test/PCH/builtin-bit-cast.cpp (revision 95d7ccb70b9cbd53f1f137c0b2411852c42c122b)
1*95d7ccb7Shyd-dev // RUN: %clang_cc1 -emit-pch -o %t %s
2*95d7ccb7Shyd-dev // RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s
3*95d7ccb7Shyd-dev // expected-no-diagnostics
4*95d7ccb7Shyd-dev 
5*95d7ccb7Shyd-dev #ifndef HEADER
6*95d7ccb7Shyd-dev #define HEADER
7*95d7ccb7Shyd-dev 
8*95d7ccb7Shyd-dev template <class T, class U>
BuiltinBitCastWrapper(const U & Arg)9*95d7ccb7Shyd-dev constexpr T BuiltinBitCastWrapper(const U &Arg) {
10*95d7ccb7Shyd-dev   return __builtin_bit_cast(T, Arg);
11*95d7ccb7Shyd-dev }
12*95d7ccb7Shyd-dev 
13*95d7ccb7Shyd-dev #else
14*95d7ccb7Shyd-dev 
main()15*95d7ccb7Shyd-dev int main() {
16*95d7ccb7Shyd-dev   return BuiltinBitCastWrapper<int>(0);
17*95d7ccb7Shyd-dev }
18*95d7ccb7Shyd-dev 
19*95d7ccb7Shyd-dev #endif
20