summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-04-24 17:34:38 +0000
committerAnders Carlsson <andersca@mac.com>2009-04-24 17:34:38 +0000
commit95c56ebfb5a22dd261b79d0af1eee9da36b38766 (patch)
tree9797e1f4ee4592fa6f6c58798605cf0645bbd78f /clang/lib/AST
parent1dcb32260a6ca82986284270b864108c7169a5f1 (diff)
downloadbcm5719-llvm-95c56ebfb5a22dd261b79d0af1eee9da36b38766.tar.gz
bcm5719-llvm-95c56ebfb5a22dd261b79d0af1eee9da36b38766.zip
Make CXXTemporaryObjectExpr inherit from CXXConstructExpr.
llvm-svn: 69981
Diffstat (limited to 'clang/lib/AST')
-rw-r--r--clang/lib/AST/ExprCXX.cpp26
1 files changed, 3 insertions, 23 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp
index b109d7a840c..5b4d4d330e3 100644
--- a/clang/lib/AST/ExprCXX.cpp
+++ b/clang/lib/AST/ExprCXX.cpp
@@ -63,14 +63,6 @@ Stmt::child_iterator CXXDefaultArgExpr::child_end() {
return child_iterator();
}
-// CXXTemporaryObjectExpr
-Stmt::child_iterator CXXTemporaryObjectExpr::child_begin() {
- return child_iterator(Args);
-}
-Stmt::child_iterator CXXTemporaryObjectExpr::child_end() {
- return child_iterator(Args + NumArgs);
-}
-
// CXXZeroInitValueExpr
Stmt::child_iterator CXXZeroInitValueExpr::child_begin() {
return child_iterator();
@@ -238,21 +230,9 @@ CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(ASTContext &C, VarDecl *vd,
Expr **Args,
unsigned NumArgs,
SourceLocation rParenLoc)
- : Expr(CXXTemporaryObjectExprClass, writtenTy,
- writtenTy->isDependentType(),
- (writtenTy->isDependentType() ||
- CallExpr::hasAnyValueDependentArguments(Args, NumArgs))),
- TyBeginLoc(tyBeginLoc), RParenLoc(rParenLoc),
- Constructor(Cons), Args(0), NumArgs(NumArgs) {
- if (NumArgs > 0) {
- this->Args = new Stmt*[NumArgs];
- for (unsigned i = 0; i < NumArgs; ++i)
- this->Args[i] = Args[i];
- }
-}
-
-CXXTemporaryObjectExpr::~CXXTemporaryObjectExpr() {
- delete [] Args;
+ : CXXConstructExpr(C, CXXTemporaryObjectExprClass, vd, writtenTy, Cons,
+ false, Args, NumArgs),
+ TyBeginLoc(tyBeginLoc), RParenLoc(rParenLoc) {
}
CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, VarDecl *VD,
OpenPOWER on IntegriCloud