summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-12-25 23:25:43 +0000
committerChris Lattner <sabre@nondot.org>2010-12-25 23:25:43 +0000
commitad3467ee8997900b16a7239b79a33235923a3c0d (patch)
treefa5579582ba25f07c32a6b9ee28784ed7c8d2e5f /clang/lib/Analysis
parent03a102bff3bf1dbb37cac3f4e201e4b28b46a2fe (diff)
downloadbcm5719-llvm-ad3467ee8997900b16a7239b79a33235923a3c0d.tar.gz
bcm5719-llvm-ad3467ee8997900b16a7239b79a33235923a3c0d.zip
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being
16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. llvm-svn: 122558
Diffstat (limited to 'clang/lib/Analysis')
-rw-r--r--clang/lib/Analysis/PrintfFormatString.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Analysis/PrintfFormatString.cpp b/clang/lib/Analysis/PrintfFormatString.cpp
index daaa072a70f..ff688e07d3d 100644
--- a/clang/lib/Analysis/PrintfFormatString.cpp
+++ b/clang/lib/Analysis/PrintfFormatString.cpp
@@ -394,7 +394,8 @@ bool PrintfSpecifier::fixType(QualType QT) {
LM.setKind(LengthModifier::AsShort);
break;
- case BuiltinType::WChar:
+ case BuiltinType::WChar_S:
+ case BuiltinType::WChar_U:
case BuiltinType::Long:
case BuiltinType::ULong:
LM.setKind(LengthModifier::AsLong);
OpenPOWER on IntegriCloud