Fix skipped region in clang 6.0.0; add repology badge; remove -latomic

This commit is contained in:
Fangrui Song 2018-03-17 10:04:12 -07:00
parent aa2910208f
commit d571fed293
3 changed files with 12 additions and 8 deletions

View File

@ -1,7 +1,7 @@
# cquery
[![Join the chat at https://gitter.im/cquery-project/Lobby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cquery-project/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Join the chat at https://gitter.im/cquery-project/Lobby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cquery-project/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
# cquery
cquery is a highly-scalable, low-latency language server for C/C++/Objective-C. It is tested cquery is a highly-scalable, low-latency language server for C/C++/Objective-C. It is tested
and designed for large code bases like and designed for large code bases like
[Chromium](https://chromium.googlesource.com/chromium/src/). cquery provides [Chromium](https://chromium.googlesource.com/chromium/src/). cquery provides
@ -14,14 +14,13 @@ some extra features to boot:
* code completion (with both signature help and snippets) * code completion (with both signature help and snippets)
* finding definition/references * finding definition/references
* type hierarchy (parent type, derived types, expandable tree view) * call (caller/callee) hierarchy, inheritance (base/derived) hierarchy, member hierarchy
* finding base/derived methods/classes, call tree
* symbol rename * symbol rename
* document and global symbol search * [document symbols](src/messages/text_document_document_symbol.cc) and approximate search of [workspace symbol](src/messages/workspace_symbol.cc)
* hover tooltips showing symbol type * [hover information](src/messages/text_document_hover.cc)
* diagnostics * diagnostics
* code actions (clang FixIts) * code actions (clang FixIts)
* darken/fade code disabled by preprocessor * preprocessor skipped regions
* #include auto-complete, undefined type include insertion, include quick-jump * #include auto-complete, undefined type include insertion, include quick-jump
(goto definition, document links) (goto definition, document links)
* auto-implement functions without a definition * auto-implement functions without a definition
@ -29,6 +28,10 @@ some extra features to boot:
# >>> [Getting started](https://github.com/jacobdufault/cquery/wiki/Getting-started) (CLICK HERE) <<< # >>> [Getting started](https://github.com/jacobdufault/cquery/wiki/Getting-started) (CLICK HERE) <<<
<a href="https://repology.org/metapackage/cquery">
<img src="https://repology.org/badge/vertical-allrepos/cquery.svg" alt="Packaging status" align="right">
</a>
# Limitations # Limitations
cquery is able to respond to queries quickly because it caches a huge amount of cquery is able to respond to queries quickly because it caches a huge amount of

View File

@ -361,9 +361,11 @@ IndexFile* ConsumeFile(IndexParam* param, CXFile file) {
CXSourceRangeList* skipped = clang_getSkippedRanges(param->tu->cx_tu, file); CXSourceRangeList* skipped = clang_getSkippedRanges(param->tu->cx_tu, file);
for (unsigned i = 0; i < skipped->count; ++i) { for (unsigned i = 0; i < skipped->count; ++i) {
Range range = ResolveCXSourceRange(skipped->ranges[i]); Range range = ResolveCXSourceRange(skipped->ranges[i]);
#if CINDEX_VERSION < 45 // Before clang 6.0.0
// clang_getSkippedRanges reports start one token after the '#', move it // clang_getSkippedRanges reports start one token after the '#', move it
// back so it starts at the '#' // back so it starts at the '#'
range.start.column -= 1; range.start.column -= 1;
#endif
db->skipped_by_preprocessor.push_back(range); db->skipped_by_preprocessor.push_back(range);
} }
clang_disposeSourceRangeList(skipped); clang_disposeSourceRangeList(skipped);

View File

@ -339,7 +339,6 @@ def build(bld):
if sys.platform.startswith('linux'): if sys.platform.startswith('linux'):
# For __atomic_* when lock free instructions are unavailable # For __atomic_* when lock free instructions are unavailable
# (either through hardware or OS support) # (either through hardware or OS support)
lib.append('atomic')
lib.append('pthread') lib.append('pthread')
# loguru calls dladdr # loguru calls dladdr
lib.append('dl') lib.append('dl')