r181122 - Reverting r181004 since it has broken test/Sema/wchar.c.

Aaron Ballman aaron at aaronballman.com
Sat May 4 09:56:22 PDT 2013


Author: aaronballman
Date: Sat May  4 11:56:22 2013
New Revision: 181122

URL: http://llvm.org/viewvc/llvm-project?rev=181122&view=rev
Log:
Reverting r181004 since it has broken test/Sema/wchar.c.

Removed:
    cfe/trunk/test/Lexer/ms-compatibility-wchar.c
    cfe/trunk/test/Lexer/ms-extensions-wchar.c
Modified:
    cfe/trunk/include/clang/AST/PrettyPrinter.h
    cfe/trunk/include/clang/Basic/TokenKinds.def
    cfe/trunk/lib/AST/ASTContext.cpp
    cfe/trunk/lib/AST/Type.cpp

Modified: cfe/trunk/include/clang/AST/PrettyPrinter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/PrettyPrinter.h?rev=181122&r1=181121&r2=181122&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/PrettyPrinter.h (original)
+++ cfe/trunk/include/clang/AST/PrettyPrinter.h Sat May  4 11:56:22 2013
@@ -40,8 +40,7 @@ struct PrintingPolicy {
       SuppressUnwrittenScope(false), SuppressInitializers(false),
       ConstantArraySizeAsWritten(false), AnonymousTagLocations(true),
       SuppressStrongLifetime(false), Bool(LO.Bool),
-      TerseOutput(false), PolishForDeclaration(false),
-      MSWChar(LO.MicrosoftMode && !LO.WChar) { }
+      TerseOutput(false), PolishForDeclaration(false) { }
 
   /// \brief What language we're printing.
   LangOptions LangOpts;
@@ -147,10 +146,6 @@ struct PrintingPolicy {
   /// declaration tag; such as, do not print attributes attached to the declaration.
   ///
   unsigned PolishForDeclaration : 1;
-
-  /// \brief When true, print the built-in wchar_t type as __wchar_t. For use in
-  /// Microsoft mode when wchar_t is not available.
-  unsigned MSWChar : 1;
 };
 
 } // end namespace clang

Modified: cfe/trunk/include/clang/Basic/TokenKinds.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.def?rev=181122&r1=181121&r2=181122&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TokenKinds.def (original)
+++ cfe/trunk/include/clang/Basic/TokenKinds.def Sat May  4 11:56:22 2013
@@ -524,7 +524,6 @@ KEYWORD(__interface                   ,
 ALIAS("__int8"           , char       , KEYMS)
 ALIAS("__int16"          , short      , KEYMS)
 ALIAS("__int32"          , int        , KEYMS)
-ALIAS("__wchar_t"        , wchar_t    , KEYMS)
 ALIAS("_asm"             , asm        , KEYMS)
 ALIAS("_alignof"         , __alignof  , KEYMS)
 ALIAS("__builtin_alignof", __alignof  , KEYMS)

Modified: cfe/trunk/lib/AST/ASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=181122&r1=181121&r2=181122&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTContext.cpp (original)
+++ cfe/trunk/lib/AST/ASTContext.cpp Sat May  4 11:56:22 2013
@@ -897,13 +897,12 @@ void ASTContext::InitBuiltinTypes(const
   InitBuiltinType(Int128Ty,            BuiltinType::Int128);
   InitBuiltinType(UnsignedInt128Ty,    BuiltinType::UInt128);
 
-  if ((LangOpts.CPlusPlus && LangOpts.WChar) || LangOpts.MicrosoftMode) {
-    // C++ 3.9.1p5 or -fms-compatibility.
+  if (LangOpts.CPlusPlus && LangOpts.WChar) { // C++ 3.9.1p5
     if (TargetInfo::isTypeSigned(Target.getWCharType()))
       InitBuiltinType(WCharTy,           BuiltinType::WChar_S);
     else  // -fshort-wchar makes wchar_t be unsigned.
       InitBuiltinType(WCharTy,           BuiltinType::WChar_U);
-  } else // C99 (or C++ using -fno-wchar) in non-MicrosoftMode.
+  } else // C99 (or C++ using -fno-wchar)
     WCharTy = getFromTargetType(Target.getWCharType());
 
   WIntTy = getFromTargetType(Target.getWIntType());

Modified: cfe/trunk/lib/AST/Type.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Type.cpp?rev=181122&r1=181121&r2=181122&view=diff
==============================================================================
--- cfe/trunk/lib/AST/Type.cpp (original)
+++ cfe/trunk/lib/AST/Type.cpp Sat May  4 11:56:22 2013
@@ -1521,7 +1521,7 @@ StringRef BuiltinType::getName(const Pri
   case Double:            return "double";
   case LongDouble:        return "long double";
   case WChar_S:
-  case WChar_U:           return Policy.MSWChar ? "__wchar_t" : "wchar_t";
+  case WChar_U:           return "wchar_t";
   case Char16:            return "char16_t";
   case Char32:            return "char32_t";
   case NullPtr:           return "nullptr_t";

Removed: cfe/trunk/test/Lexer/ms-compatibility-wchar.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/ms-compatibility-wchar.c?rev=181121&view=auto
==============================================================================
--- cfe/trunk/test/Lexer/ms-compatibility-wchar.c (original)
+++ cfe/trunk/test/Lexer/ms-compatibility-wchar.c (removed)
@@ -1,12 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple i386-pc-win32 %s
-
-// C++ mode with -fno-wchar works the same as C mode for wchar_t.
-// RUN: %clang_cc1 -x c++ -fno-wchar -fsyntax-only -verify -fms-compatibility -triple i386-pc-win32 %s
-
-wchar_t f(); // expected-error{{unknown type name 'wchar_t'}}
-
-// __wchar_t is available as an MS extension.
-__wchar_t g; // expected-note {{previous}}
-
-// __wchar_t is a distinct type, separate from the target's integer type for wide chars.
-unsigned short g; // expected-error {{redefinition of 'g' with a different type: 'unsigned short' vs '__wchar_t'}}

Removed: cfe/trunk/test/Lexer/ms-extensions-wchar.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/ms-extensions-wchar.c?rev=181121&view=auto
==============================================================================
--- cfe/trunk/test/Lexer/ms-extensions-wchar.c (original)
+++ cfe/trunk/test/Lexer/ms-extensions-wchar.c (removed)
@@ -1,12 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions -triple i386-pc-win32 %s
-
-// C++ mode with -fno-wchar works the same as C mode for wchar_t.
-// RUN: %clang_cc1 -x c++ -fno-wchar -fsyntax-only -verify -fms-extensions -triple i386-pc-win32 %s
-
-wchar_t f(); // expected-error{{unknown type name 'wchar_t'}}
-
-// __wchar_t is available as an MS extension.
-__wchar_t g(); // No error.
-
-// __wchar_t is the same as the target's integer type for wide chars.
-unsigned short g(); // No error.





More information about the cfe-commits mailing list