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 | ad3467ee8997900b16a7239b79a33235923a3c0d (patch) | |
tree | fa5579582ba25f07c32a6b9ee28784ed7c8d2e5f /clang/lib/CodeGen/MicrosoftCXXABI.cpp | |
parent | 03a102bff3bf1dbb37cac3f4e201e4b28b46a2fe (diff) | |
download | bcm5719-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/CodeGen/MicrosoftCXXABI.cpp')
-rw-r--r-- | clang/lib/CodeGen/MicrosoftCXXABI.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/MicrosoftCXXABI.cpp b/clang/lib/CodeGen/MicrosoftCXXABI.cpp index aa9046f981b..875c66c2a47 100644 --- a/clang/lib/CodeGen/MicrosoftCXXABI.cpp +++ b/clang/lib/CodeGen/MicrosoftCXXABI.cpp @@ -756,7 +756,8 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T) { case BuiltinType::Int128: Out << "_L"; break; case BuiltinType::UInt128: Out << "_M"; break; case BuiltinType::Bool: Out << "_N"; break; - case BuiltinType::WChar: Out << "_W"; break; + case BuiltinType::WChar_S: + case BuiltinType::WChar_U: Out << "_W"; break; case BuiltinType::Overload: case BuiltinType::Dependent: |