diff options
author | John McCall <rjmccall@apple.com> | 2010-12-07 00:47:33 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-12-07 00:47:33 +0000 |
commit | 6f18fca241bf060bccbea52e5e436e17562bc9b3 (patch) | |
tree | 879708113e2d2b2e23ae169a2bc9815ab18c8ee6 /lib | |
parent | 53c374f1ac6d28b2341b3a8f3902eb51db9c50e7 (diff) |
Kill FullExpr, as it was not, in fact, used anywhere in the code base.
I'm not opposed to the idea in concept, but there's no point in preserving
abortive experiments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121083 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/AST/CMakeLists.txt | 1 | ||||
-rw-r--r-- | lib/AST/FullExpr.cpp | 45 | ||||
-rw-r--r-- | lib/Sema/SemaExprCXX.cpp | 16 |
3 files changed, 0 insertions, 62 deletions
diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt index 6fca4d7e73..e98a89646c 100644 --- a/lib/AST/CMakeLists.txt +++ b/lib/AST/CMakeLists.txt @@ -24,7 +24,6 @@ add_clang_library(clangAST ExprClassification.cpp ExprConstant.cpp ExprCXX.cpp - FullExpr.cpp InheritViz.cpp ItaniumCXXABI.cpp MicrosoftCXXABI.cpp diff --git a/lib/AST/FullExpr.cpp b/lib/AST/FullExpr.cpp deleted file mode 100644 index 93ee8d1360..0000000000 --- a/lib/AST/FullExpr.cpp +++ /dev/null @@ -1,45 +0,0 @@ -//===--- FullExpr.cpp - C++ full expression class ---------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the FullExpr interface, to be used for type safe handling -// of full expressions. -// -// Full expressions are described in C++ [intro.execution]p12. -// -//===----------------------------------------------------------------------===// - -#include "clang/AST/ASTContext.h" -#include "clang/AST/FullExpr.h" -#include "clang/AST/Expr.h" -#include "clang/AST/ExprCXX.h" -#include "llvm/Support/AlignOf.h" -using namespace clang; - -FullExpr FullExpr::Create(ASTContext &Context, Expr *SubExpr, - CXXTemporary **Temporaries, unsigned NumTemporaries) { - FullExpr E; - - if (!NumTemporaries) { - E.SubExpr = SubExpr; - return E; - } - - unsigned Size = sizeof(FullExpr) - + sizeof(CXXTemporary *) * NumTemporaries; - - unsigned Align = llvm::AlignOf<ExprAndTemporaries>::Alignment; - ExprAndTemporaries *ET = - static_cast<ExprAndTemporaries *>(Context.Allocate(Size, Align)); - - ET->SubExpr = SubExpr; - std::copy(Temporaries, Temporaries + NumTemporaries, ET->temps_begin()); - - return E; -} - diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index 7be1c3307a..fb5428a6b4 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -3176,22 +3176,6 @@ Sema::MaybeCreateExprWithCleanups(ExprResult SubExpr) { return Owned(MaybeCreateExprWithCleanups(SubExpr.take())); } -FullExpr Sema::CreateFullExpr(Expr *SubExpr) { - unsigned FirstTemporary = ExprEvalContexts.back().NumTemporaries; - assert(ExprTemporaries.size() >= FirstTemporary); - - unsigned NumTemporaries = ExprTemporaries.size() - FirstTemporary; - CXXTemporary **Temporaries = - NumTemporaries == 0 ? 0 : &ExprTemporaries[FirstTemporary]; - - FullExpr E = FullExpr::Create(Context, SubExpr, Temporaries, NumTemporaries); - - ExprTemporaries.erase(ExprTemporaries.begin() + FirstTemporary, - ExprTemporaries.end()); - - return E; -} - Stmt *Sema::MaybeCreateStmtWithCleanups(Stmt *SubStmt) { assert(SubStmt && "sub statement can't be null!"); |