r272274 - Make sizeof and alignof a CXCursor_UnaryExpr
Olivier Goffart via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 9 09:16:06 PDT 2016
Author: ogoffart
Date: Thu Jun 9 11:16:06 2016
New Revision: 272274
URL: http://llvm.org/viewvc/llvm-project?rev=272274&view=rev
Log:
Make sizeof and alignof a CXCursor_UnaryExpr
So we can match sizeof expressions more accurately than with UnexposedExpr
Differential Revision: http://reviews.llvm.org/D18081
Modified:
cfe/trunk/include/clang-c/Index.h
cfe/trunk/test/Index/annotate-tokens.c
cfe/trunk/tools/libclang/CXCursor.cpp
Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=272274&r1=272273&r2=272274&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Thu Jun 9 11:16:06 2016
@@ -1932,7 +1932,7 @@ enum CXCursorKind {
*/
CXCursor_CXXDeleteExpr = 135,
- /** \brief A unary expression.
+ /** \brief A unary expression. (noexcept, sizeof, or other traits)
*/
CXCursor_UnaryExpr = 136,
Modified: cfe/trunk/test/Index/annotate-tokens.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/annotate-tokens.c?rev=272274&r1=272273&r2=272274&view=diff
==============================================================================
--- cfe/trunk/test/Index/annotate-tokens.c (original)
+++ cfe/trunk/test/Index/annotate-tokens.c Thu Jun 9 11:16:06 2016
@@ -80,10 +80,10 @@ void test() {
// CHECK: Punctuation: "(" [5:3 - 5:4] CStyleCastExpr=
// CHECK: Keyword: "void" [5:4 - 5:8] CStyleCastExpr=
// CHECK: Punctuation: ")" [5:8 - 5:9] CStyleCastExpr=
-// CHECK: Keyword: "sizeof" [5:9 - 5:15] UnexposedExpr=
-// CHECK: Punctuation: "(" [5:15 - 5:16] UnexposedExpr=
+// CHECK: Keyword: "sizeof" [5:9 - 5:15] UnaryExpr=
+// CHECK: Punctuation: "(" [5:15 - 5:16] UnaryExpr=
// CHECK: Identifier: "T" [5:16 - 5:17] TypeRef=T:1:13
-// CHECK: Punctuation: ")" [5:17 - 5:18] UnexposedExpr=
+// CHECK: Punctuation: ")" [5:17 - 5:18] UnaryExpr=
// CHECK: Punctuation: ";" [5:18 - 5:19] CompoundStmt=
// CHECK: Keyword: "struct" [7:3 - 7:9] VarDecl=x:7:12 (Definition)
// CHECK: Identifier: "X" [7:10 - 7:11] TypeRef=struct X:2:8
Modified: cfe/trunk/tools/libclang/CXCursor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXCursor.cpp?rev=272274&r1=272273&r2=272274&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CXCursor.cpp (original)
+++ cfe/trunk/tools/libclang/CXCursor.cpp Thu Jun 9 11:16:06 2016
@@ -256,7 +256,6 @@ CXCursor cxcursor::MakeCXCursor(const St
case Stmt::PredefinedExprClass:
case Stmt::ShuffleVectorExprClass:
case Stmt::ConvertVectorExprClass:
- case Stmt::UnaryExprOrTypeTraitExprClass:
case Stmt::VAArgExprClass:
case Stmt::ObjCArrayLiteralClass:
case Stmt::ObjCDictionaryLiteralClass:
@@ -327,6 +326,7 @@ CXCursor cxcursor::MakeCXCursor(const St
K = CXCursor_UnaryOperator;
break;
+ case Stmt::UnaryExprOrTypeTraitExprClass:
case Stmt::CXXNoexceptExprClass:
K = CXCursor_UnaryExpr;
break;
More information about the cfe-commits
mailing list