summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-06-21 00:51:59 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-06-21 00:51:59 +0000
commitd31bc8bc756b3734c79e3748627938ce25b8f30c (patch)
tree0309589e50c8abaaff23ec660c1f1f64e672438c /test
parentaf8926dfabf5db60a835151221a974cd8a39cb5c (diff)
downloadclang-d31bc8bc756b3734c79e3748627938ce25b8f30c.tar.gz
clang-d31bc8bc756b3734c79e3748627938ce25b8f30c.tar.bz2
clang-d31bc8bc756b3734c79e3748627938ce25b8f30c.tar.xz
Lex: Use the correct types for MS integer suffixes
We didn't properly implement support for the sized integer suffixes. Suffixes like i16 were essentially ignored instead of mapping them to the appropriately sized integer type. This fixes PR20008. Differential Revision: http://reviews.llvm.org/D4132 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211426 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/SemaCXX/ms_integer_suffix.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/SemaCXX/ms_integer_suffix.cpp b/test/SemaCXX/ms_integer_suffix.cpp
new file mode 100644
index 0000000000..20cd5a6f2c
--- /dev/null
+++ b/test/SemaCXX/ms_integer_suffix.cpp
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -fms-compatibility -verify %s
+// expected-no-diagnostics
+
+static_assert(sizeof(0i8 ) == sizeof(__INT8_TYPE__ ), "");
+static_assert(sizeof(0i16 ) == sizeof(__INT16_TYPE__), "");
+static_assert(sizeof(0i32 ) == sizeof(__INT32_TYPE__), "");
+static_assert(sizeof(0i64 ) == sizeof(__INT64_TYPE__), "");
+static_assert(sizeof(0i128) > sizeof(__INT64_TYPE__), "");