xref: /llvm-project/clang/test/SemaCXX/ms_integer_suffix.cpp (revision 5055dfcf4af806edb117eaf00fb19a3911768bba)
165a407c2SDavid Majnemer // RUN: %clang_cc1 -std=c++11 -fsyntax-only -fms-extensions -verify %s
265a407c2SDavid Majnemer // expected-no-diagnostics
365a407c2SDavid Majnemer 
465a407c2SDavid Majnemer #ifdef __SIZEOF_INT8__
565a407c2SDavid Majnemer static_assert(sizeof(0i8) == __SIZEOF_INT8__, "");
6*be09e8e5SDavid Majnemer 
f(char)7*be09e8e5SDavid Majnemer constexpr int f(char) { return 1; }
f(signed char)8*be09e8e5SDavid Majnemer constexpr int f(signed char) { return 2; }
9*be09e8e5SDavid Majnemer 
10*be09e8e5SDavid Majnemer static_assert(f(0i8) == 1, "");
1165a407c2SDavid Majnemer #endif
1265a407c2SDavid Majnemer #ifdef __SIZEOF_INT16__
1365a407c2SDavid Majnemer static_assert(sizeof(0i16) == __SIZEOF_INT16__, "");
1465a407c2SDavid Majnemer #endif
1565a407c2SDavid Majnemer #ifdef __SIZEOF_INT32__
1665a407c2SDavid Majnemer static_assert(sizeof(0i32) == __SIZEOF_INT32__, "");
1765a407c2SDavid Majnemer #endif
1865a407c2SDavid Majnemer #ifdef __SIZEOF_INT64__
1965a407c2SDavid Majnemer static_assert(sizeof(0i64) == __SIZEOF_INT64__, "");
2065a407c2SDavid Majnemer #endif
21