[cfe-commits] r95514 - in /cfe/trunk: include/clang/AST/ExprCXX.h include/clang/Frontend/PCHBitCodes.h lib/Frontend/PCHReaderStmt.cpp lib/Frontend/PCHWriter.cpp lib/Frontend/PCHWriterStmt.cpp test/PCH/cxx_exprs.cpp test/PCH/cxx_exprs.h

Sam Weinig sam.weinig at gmail.com
Sat Feb 6 21:26:59 PST 2010


Author: weinig
Date: Sat Feb  6 23:26:25 2010
New Revision: 95514

URL: http://llvm.org/viewvc/llvm-project?rev=95514&view=rev
Log:
Roll out r95513, it seems to have broken self hosting.

Modified:
    cfe/trunk/include/clang/AST/ExprCXX.h
    cfe/trunk/include/clang/Frontend/PCHBitCodes.h
    cfe/trunk/lib/Frontend/PCHReaderStmt.cpp
    cfe/trunk/lib/Frontend/PCHWriter.cpp
    cfe/trunk/lib/Frontend/PCHWriterStmt.cpp
    cfe/trunk/test/PCH/cxx_exprs.cpp
    cfe/trunk/test/PCH/cxx_exprs.h

Modified: cfe/trunk/include/clang/AST/ExprCXX.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprCXX.h?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/ExprCXX.h (original)
+++ cfe/trunk/include/clang/AST/ExprCXX.h Sat Feb  6 23:26:25 2010
@@ -241,17 +241,10 @@
   CXXBoolLiteralExpr(bool val, QualType Ty, SourceLocation l) :
     Expr(CXXBoolLiteralExprClass, Ty, false, false), Value(val), Loc(l) {}
 
-  explicit CXXBoolLiteralExpr(EmptyShell Empty)
-    : Expr(CXXBoolLiteralExprClass, Empty) { }
-
   bool getValue() const { return Value; }
-  void setValue(bool V) { Value = V; }
 
   virtual SourceRange getSourceRange() const { return SourceRange(Loc); }
 
-  SourceLocation getLocation() const { return Loc; }
-  void setLocation(SourceLocation L) { Loc = L; }
-
   static bool classof(const Stmt *T) {
     return T->getStmtClass() == CXXBoolLiteralExprClass;
   }
@@ -269,14 +262,8 @@
   CXXNullPtrLiteralExpr(QualType Ty, SourceLocation l) :
     Expr(CXXNullPtrLiteralExprClass, Ty, false, false), Loc(l) {}
 
-  explicit CXXNullPtrLiteralExpr(EmptyShell Empty)
-    : Expr(CXXNullPtrLiteralExprClass, Empty) { }
-
   virtual SourceRange getSourceRange() const { return SourceRange(Loc); }
 
-  SourceLocation getLocation() const { return Loc; }
-  void setLocation(SourceLocation L) { Loc = L; }
-
   static bool classof(const Stmt *T) {
     return T->getStmtClass() == CXXNullPtrLiteralExprClass;
   }

Modified: cfe/trunk/include/clang/Frontend/PCHBitCodes.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/PCHBitCodes.h?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/include/clang/Frontend/PCHBitCodes.h (original)
+++ cfe/trunk/include/clang/Frontend/PCHBitCodes.h Sat Feb  6 23:26:25 2010
@@ -686,11 +686,7 @@
       // \brief A CXXConstCastExpr record.
       EXPR_CXX_CONST_CAST,
       // \brief A CXXFunctionalCastExpr record.
-      EXPR_CXX_FUNCTIONAL_CAST,
-      // \brief A CXXBoolLiteralExpr record.
-      EXPR_CXX_BOOL_LITERAL,
-      // \brief A CXXNullPtrLiteralExpr record.
-      EXPR_CXX_NULL_PTR_LITERAL
+      EXPR_CXX_FUNCTIONAL_CAST
     };
 
     /// \brief The kinds of designators that can occur in a

Modified: cfe/trunk/lib/Frontend/PCHReaderStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHReaderStmt.cpp?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/PCHReaderStmt.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHReaderStmt.cpp Sat Feb  6 23:26:25 2010
@@ -123,8 +123,6 @@
     unsigned VisitCXXReinterpretCastExpr(CXXReinterpretCastExpr *E);
     unsigned VisitCXXConstCastExpr(CXXConstCastExpr *E);
     unsigned VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E);
-    unsigned VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E);
-    unsigned VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E);
   };
 }
 
@@ -908,19 +906,6 @@
   return num;
 }
 
-unsigned PCHStmtReader::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) {
-  VisitExpr(E);
-  E->setValue(Record[Idx++]);
-  E->setLocation(SourceLocation::getFromRawEncoding(Record[Idx++]));
-  return 0;
-}
-
-unsigned PCHStmtReader::VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E) {
-  VisitExpr(E);
-  E->setLocation(SourceLocation::getFromRawEncoding(Record[Idx++]));
-  return 0;
-}
-
 // Within the bitstream, expressions are stored in Reverse Polish
 // Notation, with each of the subexpressions preceding the
 // expression they are stored in. To evaluate expressions, we
@@ -1250,13 +1235,7 @@
       S = new (Context) CXXFunctionalCastExpr(Empty);
       break;
 
-    case pch::EXPR_CXX_BOOL_LITERAL:
-      S = new (Context) CXXBoolLiteralExpr(Empty);
-      break;
 
-    case pch::EXPR_CXX_NULL_PTR_LITERAL:
-      S = new (Context) CXXNullPtrLiteralExpr(Empty);
-      break;
     }
 
     // We hit a STMT_STOP, so we're done with this expression.

Modified: cfe/trunk/lib/Frontend/PCHWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHWriter.cpp?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/PCHWriter.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHWriter.cpp Sat Feb  6 23:26:25 2010
@@ -513,15 +513,6 @@
   RECORD(STMT_OBJC_AT_TRY);
   RECORD(STMT_OBJC_AT_SYNCHRONIZED);
   RECORD(STMT_OBJC_AT_THROW);
-  RECORD(EXPR_CXX_OPERATOR_CALL);
-  RECORD(EXPR_CXX_CONSTRUCT);
-  RECORD(EXPR_CXX_STATIC_CAST);
-  RECORD(EXPR_CXX_DYNAMIC_CAST);
-  RECORD(EXPR_CXX_REINTERPRET_CAST);
-  RECORD(EXPR_CXX_CONST_CAST);
-  RECORD(EXPR_CXX_FUNCTIONAL_CAST);
-  RECORD(EXPR_CXX_BOOL_LITERAL);
-  RECORD(EXPR_CXX_NULL_PTR_LITERAL);
 #undef RECORD
 }
 

Modified: cfe/trunk/lib/Frontend/PCHWriterStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHWriterStmt.cpp?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/lib/Frontend/PCHWriterStmt.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHWriterStmt.cpp Sat Feb  6 23:26:25 2010
@@ -118,8 +118,6 @@
     void VisitCXXReinterpretCastExpr(CXXReinterpretCastExpr *E);
     void VisitCXXConstCastExpr(CXXConstCastExpr *E);
     void VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E);
-    void VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E);
-    void VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E);
   };
 }
 
@@ -836,19 +834,6 @@
   Code = pch::EXPR_CXX_FUNCTIONAL_CAST;
 }
 
-void PCHStmtWriter::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) {
-  VisitExpr(E);
-  Record.push_back(E->getValue());
-  Writer.AddSourceLocation(E->getLocation(), Record);
-  Code = pch::EXPR_CXX_BOOL_LITERAL;
-}
-
-void PCHStmtWriter::VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *E) {
-  VisitExpr(E);
-  Writer.AddSourceLocation(E->getLocation(), Record);
-  Code = pch::EXPR_CXX_NULL_PTR_LITERAL;
-}
-
 //===----------------------------------------------------------------------===//
 // PCHWriter Implementation
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/test/PCH/cxx_exprs.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/cxx_exprs.cpp?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/test/PCH/cxx_exprs.cpp (original)
+++ cfe/trunk/test/PCH/cxx_exprs.cpp Sat Feb  6 23:26:25 2010
@@ -1,14 +1,13 @@
 // Test this without pch.
-// RUN: %clang_cc1 -include %S/cxx_exprs.h -std=c++0x -fsyntax-only -verify %s
+// RUN: %clang_cc1 -include %S/cxx_exprs.h -fsyntax-only -verify %s
 
 // Test with pch.
-// RUN: %clang_cc1 -x c++-header -std=c++0x -emit-pch -o %t %S/cxx_exprs.h
-// RUN: %clang_cc1 -std=c++0x -include-pch %t -fsyntax-only -verify %s 
+// RUN: %clang_cc1 -x c++-header -emit-pch -o %t %S/cxx_exprs.h
+// RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s 
 
 int integer;
 double floating;
 char character;
-bool boolean;
 
 // CXXStaticCastExpr
 static_cast_result void_ptr = &integer;
@@ -25,11 +24,3 @@
 
 // CXXFunctionalCastExpr
 functional_cast_result *double_ptr = &floating;
-
-// CXXBoolLiteralExpr
-bool_literal_result *bool_ptr = &boolean;
-static_assert(true_value, "true_value is true");
-static_assert(!false_value, "false_value is false");
-
-// CXXNullPtrLiteralExpr
-cxx_null_ptr_result null_ptr = nullptr;

Modified: cfe/trunk/test/PCH/cxx_exprs.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/cxx_exprs.h?rev=95514&r1=95513&r2=95514&view=diff

==============================================================================
--- cfe/trunk/test/PCH/cxx_exprs.h (original)
+++ cfe/trunk/test/PCH/cxx_exprs.h Sat Feb  6 23:26:25 2010
@@ -1,29 +1,21 @@
 // Header for PCH test cxx_exprs.cpp
 
 // CXXStaticCastExpr
-typedef __typeof__(static_cast<void *>(0)) static_cast_result;
+typedef typeof(static_cast<void *>(0)) static_cast_result;
 
 // CXXDynamicCastExpr
 struct Base { virtual void f(); };
 struct Derived : Base { };
 Base *base_ptr;
-typedef __typeof__(dynamic_cast<Derived *>(base_ptr)) dynamic_cast_result;
+typedef typeof(dynamic_cast<Derived *>(base_ptr)) dynamic_cast_result;
 
 // CXXReinterpretCastExpr
-typedef __typeof__(reinterpret_cast<void *>(0)) reinterpret_cast_result;
+typedef typeof(reinterpret_cast<void *>(0)) reinterpret_cast_result;
 
 // CXXConstCastExpr
 const char *const_char_ptr_value;
-typedef __typeof__(const_cast<char *>(const_char_ptr_value)) const_cast_result;
+typedef typeof(const_cast<char *>(const_char_ptr_value)) const_cast_result;
 
 // CXXFunctionalCastExpr
 int int_value;
-typedef __typeof__(double(int_value)) functional_cast_result;
-
-// CXXBoolLiteralExpr
-typedef __typeof__(true) bool_literal_result;
-const bool true_value = true;
-const bool false_value = false;
-
-// CXXNullPtrLiteralExpr
-typedef __typeof__(nullptr) cxx_null_ptr_result;
+typedef typeof(double(int_value)) functional_cast_result;





More information about the cfe-commits mailing list