diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-11-11 17:56:53 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-11-11 17:56:53 +0000 |
commit | 6f28289aca5bf15feb49b95e73f80cf9af99cdb3 (patch) | |
tree | 71037f611a5ba7b910255fcfb6a419cf159d8ee7 /clang/lib/CodeGen/CGExprConstant.cpp | |
parent | 5499e89d06ba27f89dbffb028cbce72e3a3c95ed (diff) | |
download | bcm5719-llvm-6f28289aca5bf15feb49b95e73f80cf9af99cdb3.tar.gz bcm5719-llvm-6f28289aca5bf15feb49b95e73f80cf9af99cdb3.zip |
Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof expressions, both of values and types.
llvm-svn: 59057
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index 89b34e611ba..1e224571f95 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -384,8 +384,8 @@ public: return 0; } - llvm::Constant *VisitSizeOfAlignOfTypeExpr(const SizeOfAlignOfTypeExpr *E) { - return EmitSizeAlignOf(E->getArgumentType(), E->getType(), E->isSizeOf()); + llvm::Constant *VisitSizeOfAlignOfExpr(const SizeOfAlignOfExpr *E) { + return EmitSizeAlignOf(E->getTypeOfArgument(), E->getType(), E->isSizeOf()); } llvm::Constant *VisitAddrLabelExpr(const AddrLabelExpr *E) { @@ -426,12 +426,6 @@ public: return llvm::ConstantExpr::getZExt(SubExpr, ConvertType(E->getType())); } - llvm::Constant *VisitUnarySizeOf(const UnaryOperator *E) { - return EmitSizeAlignOf(E->getSubExpr()->getType(), E->getType(), true); - } - llvm::Constant *VisitUnaryAlignOf(const UnaryOperator *E) { - return EmitSizeAlignOf(E->getSubExpr()->getType(), E->getType(), false); - } llvm::Constant *VisitUnaryAddrOf(const UnaryOperator *E) { return EmitLValue(E->getSubExpr()); } |