Add clang_Location_isFromMainFile() to libclang.

Also bump the minor version number and update libclang.exports.

Reviewed by: Dmitri Gribenko, Doug Gregor

llvm-svn: 187994
This commit is contained in:
Stefanus Du Toit 2013-08-08 17:48:14 +00:00
parent 3a9fa9ed0f
commit db51c630ad
3 changed files with 19 additions and 1 deletions

View File

@ -32,7 +32,7 @@
* compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
*/
#define CINDEX_VERSION_MAJOR 0
#define CINDEX_VERSION_MINOR 19
#define CINDEX_VERSION_MINOR 20
#define CINDEX_VERSION_ENCODE(major, minor) ( \
((major) * 10000) \
@ -413,6 +413,12 @@ CINDEX_LINKAGE CXSourceLocation clang_getLocationForOffset(CXTranslationUnit tu,
*/
CINDEX_LINKAGE int clang_Location_isInSystemHeader(CXSourceLocation location);
/**
* \brief Returns non-zero if the given source location is in the main file of
* the corresponding translation unit.
*/
CINDEX_LINKAGE int clang_Location_isFromMainFile(CXSourceLocation location);
/**
* \brief Retrieve a NULL (invalid) source range.
*/

View File

@ -209,6 +209,17 @@ int clang_Location_isInSystemHeader(CXSourceLocation location) {
return SM.isInSystemHeader(Loc);
}
int clang_Location_isFromMainFile(CXSourceLocation location) {
const SourceLocation Loc =
SourceLocation::getFromRawEncoding(location.int_data);
if (Loc.isInvalid())
return 0;
const SourceManager &SM =
*static_cast<const SourceManager*>(location.ptr_data[0]);
return SM.isFromMainFile(Loc);
}
void clang_getExpansionLocation(CXSourceLocation location,
CXFile *file,
unsigned *line,

View File

@ -255,6 +255,7 @@ clang_isVirtualBase
clang_isVolatileQualifiedType
clang_loadDiagnostics
clang_Location_isInSystemHeader
clang_Location_isFromMainFile
clang_parseTranslationUnit
clang_remap_dispose
clang_remap_getFilenames