]> granicus.if.org Git - clang/commitdiff
PR7795: Fix the definition of __WCHAR_MAX__ with -fshort-wchar.
authorEli Friedman <eli.friedman@gmail.com>
Tue, 3 Aug 2010 17:34:19 +0000 (17:34 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 3 Aug 2010 17:34:19 +0000 (17:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110126 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/InitPreprocessor.cpp
test/Preprocessor/init.c

index e5a4169502daa368f74209b3df8868c079fd66c0..88feca953a666a25cfbb37f1fb3040ea3907c146 100644 (file)
@@ -173,7 +173,7 @@ static void DefineTypeSize(llvm::StringRef MacroName, unsigned TypeWidth,
     assert(TypeWidth != 1);
     MaxVal = ~0ULL >> (65-TypeWidth);
   } else
-    MaxVal = ~0LL >> (64-TypeWidth);
+    MaxVal = ~0ULL >> (64-TypeWidth);
 
   Builder.defineMacro(MacroName, llvm::Twine(MaxVal) + ValSuffix);
 }
index 8283671b6636fb2d18f5afcd082f6a59f032e6f0..4ebaddfa3f66acc7f378c3ae2805c7e45a79dc5e 100644 (file)
 // SCHAR-NOT:#define __UNSIGNED_CHAR__
 // SCHAR:#define __clang__ 1
 //
+// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
+//
+// SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
+// SHORTWCHAR: #define __WCHAR_MAX__ 65535U
+// SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
+// SHORTWCHAR: #define __WCHAR_WIDTH__ 16
+//
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
 //
 // ARM:#define __APCS_32__ 1