diff options
author | Chris Lattner <sabre@nondot.org> | 2010-12-25 23:25:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-12-25 23:25:43 +0000 |
commit | 3f59c975aa5d047f7edd1b900b5e885c38af0ef7 (patch) | |
tree | 2fbe959271ee3bfd09aeaf5b035507fc87f13ba2 /lib/Analysis/PrintfFormatString.cpp | |
parent | af6530c938bfc60902f0dfec1c0808aedbee1663 (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/PrintfFormatString.cpp')
-rw-r--r-- | lib/Analysis/PrintfFormatString.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Analysis/PrintfFormatString.cpp b/lib/Analysis/PrintfFormatString.cpp index daaa072a70..ff688e07d3 100644 --- a/lib/Analysis/PrintfFormatString.cpp +++ b/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); |