summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtPrinter.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-06-30 21:33:57 +0000
committerJordan Rose <jordan_rose@apple.com>2012-06-30 21:33:57 +0000
commit58d547200eeb422a681429d82b9543e26768e5e8 (patch)
tree8188ef995098e4f72d1c8dfb2331b4391797dc74 /clang/lib/AST/StmtPrinter.cpp
parent2b3c8603978583ab287bd3acece517b4edd12483 (diff)
downloadbcm5719-llvm-58d547200eeb422a681429d82b9543e26768e5e8.tar.gz
bcm5719-llvm-58d547200eeb422a681429d82b9543e26768e5e8.zip
Add support for the C11 _Alignof keyword.
This behaves like the existing GNU __alignof and C++11 alignof keywords; most of the patch is simply adding the third token spelling to various places. llvm-svn: 159494
Diffstat (limited to 'clang/lib/AST/StmtPrinter.cpp')
-rw-r--r--clang/lib/AST/StmtPrinter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp
index 9c7259745ca..5bd61c3b529 100644
--- a/clang/lib/AST/StmtPrinter.cpp
+++ b/clang/lib/AST/StmtPrinter.cpp
@@ -814,7 +814,12 @@ void StmtPrinter::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *Node){
OS << "sizeof";
break;
case UETT_AlignOf:
- OS << "__alignof";
+ if (Policy.LangOpts.CPlusPlus)
+ OS << "alignof";
+ else if (Policy.LangOpts.C11)
+ OS << "_Alignof";
+ else
+ OS << "__alignof";
break;
case UETT_VecStep:
OS << "vec_step";
OpenPOWER on IntegriCloud