llvm-project/clang/tools/libclang
Vedant Kumar 3919a501f3 [Lexer] Report more precise skipped regions (PR34166)
This patch teaches the preprocessor to report more precise source ranges for
code that is skipped due to conditional directives.

The new behavior includes the '#' from the opening directive and the full text
of the line containing the closing directive in the skipped area. This matches
up clang's behavior (we don't IRGen the code between the closing "endif" and
the end of a line).

This also affects the code coverage implementation. See llvm.org/PR34166 (this
also happens to be rdar://problem/23224058).

The old behavior (report the end of the skipped range as the end
location of the 'endif' token) is preserved for indexing clients.

Differential Revision: https://reviews.llvm.org/D36642

llvm-svn: 312947
2017-09-11 20:47:42 +00:00
..
ARCMigrate.cpp [CMake] Move CLANG_ENABLE_(ARCMT|OBJC_REWRITER|STATIC_ANALYZER) into clang/Config/config.h. 2017-07-18 08:55:03 +00:00
BuildSystem.cpp Replace TimeValue with TimePoint in BuildSystem.cpp. NFC. 2016-11-09 11:19:39 +00:00
CIndex.cpp [libclang]: Honor LIBCLANG_NOTHREADS for clang_parseTranslationUnit* 2017-08-29 09:08:02 +00:00
CIndexCXX.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CIndexCodeCompletion.cpp [libclang] Bury dead TemporaryFiles 2017-03-24 09:49:54 +00:00
CIndexDiagnostic.cpp Revert "Revert "[NFC] Refactor DiagnosticRenderer to use FullSourceLoc"" 2017-06-27 09:50:38 +00:00
CIndexDiagnostic.h Roll-back r250822. 2015-10-20 13:23:58 +00:00
CIndexHigh.cpp [libclang] Revert part of r290025, "Remove the 'extern "C"' blocks from the implementation files." 2016-12-19 16:50:43 +00:00
CIndexInclusionStack.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CIndexUSRs.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CIndexer.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CIndexer.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CLog.h Replace uses of LLVM_FUNCTION_NAME with __func__, this was macro was removed from llvm/Support in r284681 2016-10-20 02:46:22 +00:00
CMakeLists.txt [CMake][Modules] libclang: Ignore _CINDEX_LIB_ and CLANG_TOOL_EXTRA_BUILD for -fmodules. 2017-07-31 11:45:20 +00:00
CXComment.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CXComment.h [cleanup] Re-sort the #include lines using llvm/utils/sort_includes.py 2015-01-14 11:23:58 +00:00
CXCompilationDatabase.cpp [Tooling][libclang] Remove unused CompilationDatabase::MappedSources 2017-05-23 13:50:43 +00:00
CXCursor.cpp libclang: remove unused variable. 2017-04-27 20:22:40 +00:00
CXCursor.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
CXIndexDataConsumer.cpp [index] Add indexing for unresolved-using declarations 2017-08-16 23:12:21 +00:00
CXIndexDataConsumer.h [index] When indexing an ObjC method declaration use its base name for the location. 2017-01-26 02:11:50 +00:00
CXLoadedDiagnostic.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CXLoadedDiagnostic.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXSourceLocation.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CXSourceLocation.h Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
CXStoredDiagnostic.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CXString.cpp [libclang] Remove the 'extern "C"' blocks from the implementation files. 2016-12-17 01:09:40 +00:00
CXString.h libclang: add new StringSet type 2015-11-12 03:57:16 +00:00
CXTranslationUnit.h [libclang] Expose some target information via the C API. 2017-04-28 15:56:39 +00:00
CXType.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
CXType.h
CursorVisitor.h [index] Expose FriendDecl 2016-11-04 06:29:27 +00:00
Index_Internal.h
Indexing.cpp [Lexer] Report more precise skipped regions (PR34166) 2017-09-11 20:47:42 +00:00
libclang.exports [libclang] Support for querying whether an enum is scoped 2017-07-12 11:35:11 +00:00