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/AST/StmtPrinter.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/AST/StmtPrinter.cpp')
-rw-r--r-- | clang/lib/AST/StmtPrinter.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp index cc861cc6b4e..7529eec9847 100644 --- a/clang/lib/AST/StmtPrinter.cpp +++ b/clang/lib/AST/StmtPrinter.cpp @@ -620,11 +620,9 @@ void StmtPrinter::VisitUnaryOperator(UnaryOperator *Node) { if (!Node->isPostfix()) { OS << UnaryOperator::getOpcodeStr(Node->getOpcode()); - // Print a space if this is an "identifier operator" like sizeof or __real. + // Print a space if this is an "identifier operator" like __real. switch (Node->getOpcode()) { default: break; - case UnaryOperator::SizeOf: - case UnaryOperator::AlignOf: case UnaryOperator::Real: case UnaryOperator::Imag: case UnaryOperator::Extension: @@ -663,9 +661,14 @@ void StmtPrinter::VisitUnaryOffsetOf(UnaryOperator *Node) { OS << ")"; } -void StmtPrinter::VisitSizeOfAlignOfTypeExpr(SizeOfAlignOfTypeExpr *Node) { - OS << (Node->isSizeOf() ? "sizeof(" : "__alignof("); - OS << Node->getArgumentType().getAsString() << ")"; +void StmtPrinter::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *Node) { + OS << (Node->isSizeOf() ? "sizeof" : "__alignof"); + if (Node->isArgumentType()) + OS << "(" << Node->getArgumentType().getAsString() << ")"; + else { + OS << " "; + PrintExpr(Node->getArgumentExpr()); + } } void StmtPrinter::VisitArraySubscriptExpr(ArraySubscriptExpr *Node) { PrintExpr(Node->getLHS()); |