Index: cfe/trunk/include/clang-c/Index.h =================================================================== --- cfe/trunk/include/clang-c/Index.h +++ cfe/trunk/include/clang-c/Index.h @@ -1932,7 +1932,7 @@ */ CXCursor_CXXDeleteExpr = 135, - /** \brief A unary expression. + /** \brief A unary expression. (noexcept, sizeof, or other traits) */ CXCursor_UnaryExpr = 136, Index: cfe/trunk/test/Index/annotate-tokens.c =================================================================== --- cfe/trunk/test/Index/annotate-tokens.c +++ cfe/trunk/test/Index/annotate-tokens.c @@ -80,10 +80,10 @@ // 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 Index: cfe/trunk/tools/libclang/CXCursor.cpp =================================================================== --- cfe/trunk/tools/libclang/CXCursor.cpp +++ cfe/trunk/tools/libclang/CXCursor.cpp @@ -256,7 +256,6 @@ 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 @@ K = CXCursor_UnaryOperator; break; + case Stmt::UnaryExprOrTypeTraitExprClass: case Stmt::CXXNoexceptExprClass: K = CXCursor_UnaryExpr; break;