Commit Graph

1173 Commits

Author SHA1 Message Date
Fangrui Song
007bc5362c Fix null pointer dereference of param.primary_file 2018-01-06 14:47:24 -08:00
Jacob Dufault
181b405c54 Remove some debug code 2018-01-06 12:32:58 -08:00
Fangrui Song
4758b70d00 Reorder Reflect functions 2018-01-06 11:26:41 -08:00
Joel Hock
0c9f572637 freeze state of WorkingFiles to insulate them from async changes
before shipping unsaved state off to clang
2018-01-06 11:26:09 -08:00
scturtle
991b27899f Show error on include position. (#243) 2018-01-06 09:28:55 -08:00
Fangrui Song
516b94e982 Change VarClass::cls to ClangSymbolKind::kind
ClangSymbolKind is ported from clang::index::SymbolKind
2018-01-05 22:43:12 -08:00
Jacob Dufault
cf2103b521 Always normalize --sysroot=.
Clang does not respect -working-dir for this argument.
2018-01-05 13:41:38 -08:00
Fangrui Song
af600d4b90 Recognize clang-4.0 as commands 2018-01-05 11:10:58 -08:00
Jacob Dufault
0657de7ef9 Make exact workspace symbol search use detailed_name.
This enables lookup by typing fully qualified names, ie, myns::MyClass.
2018-01-05 10:06:15 -08:00
Jacob Dufault
bbe11e32eb Prefer WriteToFile over manual std;:ofstream usage. 2018-01-05 10:02:53 -08:00
Jacob Dufault
327958dbe0 Log error instead of asserting if writing file fails.
Also remove some unused code.
2018-01-05 09:58:38 -08:00
Fangrui Song
08e856b85a Use nullptr for main source filename in clang_parseTranslationUnit2FullArgv and rely on -working-directory for relative filename resolution 2018-01-05 09:45:46 -08:00
altkatz
bb2e94964f Document the need to set cquery.launch.command (#235)
credit @HighCommander4 for https://github.com/jacobdufault/cquery/issues/216
2018-01-05 09:00:30 -08:00
Fangrui Song
d4141fca2c Update third_party for OpenIndiana 2018-01-05 08:48:44 -08:00
Fangrui Song
18e3f56d0c [waf] Fix build on OpenIndiana 2018-01-04 20:24:44 -08:00
yshui
2a7b593a80 Use gnu11 standard when none is specified (#231)
Reference:

1. https://clang.llvm.org/docs/UsersManual.html#differences-between-various-standard-modes
2. https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-01-04 11:10:40 -08:00
yshui
e2ce134e1f Check __GLIBC__ for malloc_trim instead of __linux__ (#230) 2018-01-04 10:55:11 -08:00
Jacob Dufault
22ef88045f Write cache to disk in binary format. Otherwise some escaping may occur. 2018-01-03 22:13:33 -08:00
Jacob Dufault
0c839d19fc [ci]: Do not wait for input after failing a test.
This adds --ci command line flag which disables waiting for user input when running an index test (ie, test expectations are not updated).
2018-01-03 18:43:58 -08:00
Fangrui Song
cd3faf4dfe [waf] Add test rax,rax -> test r8,r8 patch for --bundled-clang={4.0.0,5.0.1} on Linux 2018-01-03 18:36:07 -08:00
Jacob Dufault
31c7fddf3d More work to fix AppVeyor 2018-01-03 18:32:15 -08:00
Jacob Dufault
f5f3887dd3 Add newline after warning about not running obj-c tests 2018-01-03 18:12:39 -08:00
Jacob Dufault
2a17f66792 Write test using binary, otherwise \n will become \r\n leading to double \r\r\n. 2018-01-03 18:12:39 -08:00
Chao Shen
d9b9e5e227 fix appveyor 2018-01-03 18:12:21 -08:00
Jacob Dufault
10c55d9534 Index tests need to be CRLF 2018-01-03 17:22:21 -08:00
Daniel Martín
7e2c19d792 Format with predefined_style when a style cannot be obtained 2018-01-03 13:29:54 -08:00
Fangrui Song
5f8e1935a6 Use cursor extent instead of cursor spelling range for CXCursor_MemberRefExpr #174
Members of non-concrete template types do not have useful spelling ranges (likely unexposed).

C<int> f; f.x // .x produces a MemberRefExpr which has a spelling range of `x`.

C<T> e; e.x // .x produces a MemberRefExpr which has a spelling range of `e` (weird).

To make `e.x` (MemberRefExpr with empty spelling name) able to find
definition, We use cursor extent (larger than spelling range) `e.x`. It
would be better if we could restrict the ranges to `.x` or just `x`.
Nevertheless, larger ranges are less specific, and should do no harm
because they will be overriden by more specific variable references `e`.
2018-01-03 11:02:28 -08:00
Fangrui Song
a0c6435ff4 [waf] -fno-rtti -Wno-comment -DLOGURU_RTTI=0 for --use-clang-cxx 2018-01-03 09:05:58 -08:00
Jacob Dufault
4514e2f9ce Silence unhandled namespace declaration warnings 2018-01-03 08:05:52 -08:00
scturtle
66af432946 Fix completion order: Sort after cache. 2018-01-03 07:58:59 -08:00
Fangrui Song
1109c486c6 Help Riatre
clang_getNumArgTypes may return -1 for unexposed types.
2018-01-03 00:08:18 -08:00
Fangrui Song
74be57c334 Set variable_type of lambda parameters
Now a lambda parameter is listed in $cquery/vars of its type
2018-01-03 00:00:03 -08:00
Fangrui Song
a63297b002 Add type names to non-type template parameters 2018-01-02 22:52:40 -08:00
scturtle
f23a79b01d [travis] Retry. (#221) 2018-01-02 22:25:06 -08:00
Fangrui Song
c8040a3b9e [travis] Make travis faster 2018-01-02 21:57:15 -08:00
Fangrui Song
e9bde76c7e [travis] cache 2018-01-02 20:39:27 -08:00
Fangrui Song
2830548768 [waf] Prep for travis cache directories 2018-01-02 20:35:40 -08:00
Fangrui Song
1220463efe Make GetPath less hacky for #215 2018-01-02 18:59:47 -08:00
Fangrui Song
3e1a068c19 Make implicit calls spanning one more column to the left/right
This is hacky but useful. e.g. textDocument/definition on the space/semicolon in `A a;` or `return 42;` will take you to the constructor.
2018-01-02 16:30:08 -08:00
Chao Shen
c157445ef3 fix ci 2018-01-02 09:11:34 -06:00
Fangrui Song
a14ddc69ac Split MultiQueueWaiter into {querydb,indexer,stdout}waiter to solve thundering herd problem (#217)
See https://github.com/jacobdufault/cquery/pull/213#issuecomment-354706992
2018-01-01 23:40:36 -08:00
Jacob Dufault
0b53c871dc Remove platform specific mutex/shared memory 2018-01-02 01:37:39 -06:00
Fangrui Song
f68e70f5b7 Replace MultiQueueWaiter timeout with condition_variable_any on multiple mutexes
Inspired by https://github.com/jacobdufault/cquery/pull/213
2018-01-01 16:19:58 -08:00
Fangrui Song
6fa92f7968 Compare hover & comments in {Func,Type,Var}DefDefinitionData::operator==
So that the changes populate to querydb.
Also expand two std::set_difference calls to save one scan
2018-01-01 12:36:08 -08:00
Fangrui Song
0539e4249b The Little Match Ray On New Year's Eve 2017 2018-01-01 00:06:25 -08:00
Fangrui Song
cef47b13f7 Remove ResolveSpelling 2017-12-31 23:34:00 -08:00
Fangrui Song
02246a5c4b Add ClangCursor::get_spelling_range and change some ResolveSpelling calls to get_spelling_range 2017-12-31 23:27:33 -08:00
Fangrui Song
a6496a0f8f [indexer] Add template parameters in parameter-list to their uses and index template template parameters 2017-12-31 22:54:52 -08:00
Fangrui Song
a4847181fa Fix formatting 2017-12-31 20:17:31 -08:00
Fangrui Song
86768b7d36 [formatting] textDocument/rangeFormatting 2017-12-31 20:03:43 -08:00