1*67e74705SXin Li // RUN: %clang_cc1 -std=c++11 -fsyntax-only -fms-extensions -verify %s 2*67e74705SXin Li // expected-no-diagnostics 3*67e74705SXin Li 4*67e74705SXin Li #ifdef __SIZEOF_INT8__ 5*67e74705SXin Li static_assert(sizeof(0i8) == __SIZEOF_INT8__, ""); 6*67e74705SXin Li f(char)7*67e74705SXin Liconstexpr int f(char) { return 1; } f(signed char)8*67e74705SXin Liconstexpr int f(signed char) { return 2; } 9*67e74705SXin Li 10*67e74705SXin Li static_assert(f(0i8) == 1, ""); 11*67e74705SXin Li #endif 12*67e74705SXin Li #ifdef __SIZEOF_INT16__ 13*67e74705SXin Li static_assert(sizeof(0i16) == __SIZEOF_INT16__, ""); 14*67e74705SXin Li #endif 15*67e74705SXin Li #ifdef __SIZEOF_INT32__ 16*67e74705SXin Li static_assert(sizeof(0i32) == __SIZEOF_INT32__, ""); 17*67e74705SXin Li #endif 18*67e74705SXin Li #ifdef __SIZEOF_INT64__ 19*67e74705SXin Li static_assert(sizeof(0i64) == __SIZEOF_INT64__, ""); 20*67e74705SXin Li #endif 21