diff options
author | Jonathan Coe <jbcoe@me.com> | 2017-06-27 22:54:56 +0000 |
---|---|---|
committer | Jonathan Coe <jbcoe@me.com> | 2017-06-27 22:54:56 +0000 |
commit | 0a5b03b659d03392f43aed3003989a7a3fcbab62 (patch) | |
tree | abc9d40cf7f5a41b7d4b4b1c8db8cc65f56e7605 /clang/tools/c-index-test/c-index-test.c | |
parent | 6f75e2dd48ca7ce22ca7e97684729259ce5ebe57 (diff) | |
download | bcm5719-llvm-0a5b03b659d03392f43aed3003989a7a3fcbab62.tar.gz bcm5719-llvm-0a5b03b659d03392f43aed3003989a7a3fcbab62.zip |
[libclang] Support for querying the exception specification type through libclang
Summary: This patch exposes the exception specification type (noexcept,
etc.) of a C++ function through libclang and Python clang.cindex.
Reviewers: rsmith, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: jbcoe, cfe-commits
Differential Revision: https://reviews.llvm.org/D34091
Patch by Andrew Bennieston
llvm-svn: 306483
Diffstat (limited to 'clang/tools/c-index-test/c-index-test.c')
-rw-r--r-- | clang/tools/c-index-test/c-index-test.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index d25ae117a68..1e925569dd9 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -809,6 +809,37 @@ static void PrintCursor(CXCursor Cursor, const char *CommentSchemaFile) { if (clang_Cursor_isObjCOptional(Cursor)) printf(" (@optional)"); + switch (clang_getCursorExceptionSpecificationType(Cursor)) + { + case CXCursor_ExceptionSpecificationKind_None: + break; + + case CXCursor_ExceptionSpecificationKind_DynamicNone: + printf(" (noexcept dynamic none)"); + break; + + case CXCursor_ExceptionSpecificationKind_Dynamic: + printf(" (noexcept dynamic)"); + break; + + case CXCursor_ExceptionSpecificationKind_MSAny: + printf(" (noexcept dynamic any)"); + break; + + case CXCursor_ExceptionSpecificationKind_BasicNoexcept: + printf(" (noexcept)"); + break; + + case CXCursor_ExceptionSpecificationKind_ComputedNoexcept: + printf(" (computed-noexcept)"); + break; + + case CXCursor_ExceptionSpecificationKind_Unevaluated: + case CXCursor_ExceptionSpecificationKind_Uninstantiated: + case CXCursor_ExceptionSpecificationKind_Unparsed: + break; + } + { CXString language; CXString definedIn; |