diff options
Diffstat (limited to 'tools/c-index-test')
-rw-r--r-- | tools/c-index-test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tools/c-index-test/Makefile | 12 | ||||
-rw-r--r-- | tools/c-index-test/c-index-test.c | 12 |
3 files changed, 21 insertions, 5 deletions
diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt index d90dc6d..d850411 100644 --- a/tools/c-index-test/CMakeLists.txt +++ b/tools/c-index-test/CMakeLists.txt @@ -24,6 +24,6 @@ set_target_properties(c-index-test # If libxml2 is available, make it available for c-index-test. if (CLANG_HAVE_LIBXML) - include_directories(${LIBXML2_INCLUDE_DIR}) + include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR}) target_link_libraries(c-index-test ${LIBXML2_LIBRARIES}) endif() diff --git a/tools/c-index-test/Makefile b/tools/c-index-test/Makefile index 7723115..b38d654 100644 --- a/tools/c-index-test/Makefile +++ b/tools/c-index-test/Makefile @@ -22,12 +22,12 @@ TOOL_NO_EXPORTS = 1 # LINK_COMPONENTS before including Makefile.rules include $(CLANG_LEVEL)/../../Makefile.config -LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc +LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option # Note that 'USEDLIBS' must include all of the core clang libraries # when -static is given to linker on cygming. USEDLIBS = clang.a \ - clangFormat.a clangRewriteCore.a \ + clangIndex.a clangFormat.a clangRewriteCore.a \ clangFrontend.a clangDriver.a \ clangTooling.a \ clangSerialization.a clangParse.a clangSema.a \ @@ -37,4 +37,12 @@ USEDLIBS = clang.a \ include $(CLANG_LEVEL)/Makefile LIBS += $(LIBXML2_LIBS) + +# Headers in $(LIBXML2_INC) should not be checked with clang's -Wdocumentation. +# Use -isystem instead of -I then. +# FIXME: Could autoconf detect clang or availability of -isystem? +ifneq ($(findstring -Wdocumentation,$(OPTIMIZE_OPTION)),) +CPPFLAGS += $(subst -I,-isystem ,$(LIBXML2_INC)) +else CPPFLAGS += $(LIBXML2_INC) +endif diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c index e575234..90a6528 100644 --- a/tools/c-index-test/c-index-test.c +++ b/tools/c-index-test/c-index-test.c @@ -694,10 +694,13 @@ static void PrintCursor(CXCursor Cursor, printf(" (static)"); if (clang_CXXMethod_isVirtual(Cursor)) printf(" (virtual)"); - + if (clang_CXXMethod_isPureVirtual(Cursor)) + printf(" (pure)"); if (clang_Cursor_isVariadic(Cursor)) printf(" (variadic)"); - + if (clang_Cursor_isObjCOptional(Cursor)) + printf(" (@optional)"); + if (Cursor.kind == CXCursor_IBOutletCollectionAttr) { CXType T = clang_getCanonicalType(clang_getIBOutletCollectionType(Cursor)); @@ -1157,6 +1160,7 @@ static enum CXChildVisitResult PrintType(CXCursor cursor, CXCursor p, CXClientData d) { if (!clang_isInvalid(clang_getCursorKind(cursor))) { CXType T = clang_getCursorType(cursor); + enum CXRefQualifierKind RQ = clang_Type_getCXXRefQualifier(T); PrintCursor(cursor, NULL); PrintTypeAndTypeKind(T, " [type=%s] [typekind=%s]"); if (clang_isConstQualifiedType(T)) @@ -1165,6 +1169,10 @@ static enum CXChildVisitResult PrintType(CXCursor cursor, CXCursor p, printf(" volatile"); if (clang_isRestrictQualifiedType(T)) printf(" restrict"); + if (RQ == CXRefQualifier_LValue) + printf(" lvalue-ref-qualifier"); + if (RQ == CXRefQualifier_RValue) + printf(" rvalue-ref-qualifier"); /* Print the canonical type if it is different. */ { CXType CT = clang_getCanonicalType(T); |