| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
likely to be multithreaded. Also move the printing of timers to somewhere better for multithreaded libclang clients
llvm-svn: 114760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
provided when the optimization is disabled. In particular, split
the completion context CCC_Other into two contexts: CCC_Other, which
means that it's an undisclosed context for which any other results are
unwelcome, and CCC_Recovery, which is used in recovery cases.
Since we're now using the completion context within the completion
results builder, make sure that it's always set to something.
Fixes <rdar://problem/8470644>.
llvm-svn: 114704
|
| |
|
|
|
|
|
|
|
|
| |
- In Objective-C, we prefer BOOL to bool for historic reasons;
slightly penalize "bool".
- Treat Nil macro as a NULL pointer constant.
- Treat YES, NO, true, and false macros as constants.
- Treat the bool macro as a type.
llvm-svn: 114356
|
| |
|
|
|
|
|
|
| |
expression, e.g., after the '(' that could also be a type cast. Here,
we provide types as code-completion results in C/Objective-C (C++
already had them), although we wouldn't in a normal expression context.
llvm-svn: 113904
|
| |
|
|
|
|
|
|
|
|
| |
preambles end up leaving the precompiled preambles around. This is by
design, since we do minimal cleanup during crash recovery. However,
it's unfortunate for testing, so introduce a hook that allows these
two tests to put the precompiled preamble somewhere where we can
delete them after testing.
llvm-svn: 113698
|
| |
|
|
|
|
|
|
|
| |
just abort creation of the precompiled preamble rather than doing
silly things. This is the second part of the fix for the weird
preamble-related failures on Windows. Big thanks to Francois Pichet
for the great detective work!
llvm-svn: 113697
|
| |
|
|
|
|
|
|
| |
Windows GetTempPath() function, and be sure to create the directory in
which the precompiled preamble will reside before creating the
temporary file itself.
llvm-svn: 113695
|
| |
|
|
|
|
| |
declarator, the very definition of "low-hanging fruit".
llvm-svn: 112274
|
| |
|
|
| |
llvm-svn: 112186
|
| |
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
llvm-svn: 112180
|
| |
|
|
|
|
| |
path and ...", it is failing tests.
llvm-svn: 112161
|
| |
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
llvm-svn: 112149
|
| |
|
|
|
|
|
| |
into the clients", because the C standard library sucks. Where's my
stable sort, huh?
llvm-svn: 112121
|
| |
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
llvm-svn: 112095
|
| |
|
|
|
|
|
|
| |
code-completion results cached by ASTUnit, sort the resulting result
set. This makes testing far, far easier, so this commit also includes
tests for the previous few fixes.
llvm-svn: 112070
|
| |
|
|
| |
llvm-svn: 112065
|
| |
|
|
|
|
|
| |
code completion. We were allowing the preamble to include the line
that we're code-completing on. Again, testcase is forthcoming.
llvm-svn: 112064
|
| |
|
|
|
|
|
| |
ASTUnit match those produced directly by code completion. Test case is
forthcoming.
llvm-svn: 112063
|
| |
|
|
| |
llvm-svn: 112028
|
| |
|
|
|
|
| |
arguments.
llvm-svn: 111976
|
| |
|
|
|
|
|
| |
e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname>
expression in a preprocessor conditional.
llvm-svn: 111954
|
| |
|
|
|
|
|
| |
of a cursor or code-completion result, e.g., whether that result
refers to an unavailable, deleted, or deprecated declaration.
llvm-svn: 111858
|
| |
|
|
| |
llvm-svn: 111830
|
| |
|
|
|
|
|
|
|
| |
declarator. Here, we can only see a few things (e.g., cvr-qualifiers,
nested name specifiers) and we do not want to provide other non-macro
completions. Previously, we would end up in recovery mode and would
provide a large number of non-relevant completions.
llvm-svn: 111818
|
| |
|
|
|
|
|
|
| |
duplication between the constant and non-constant paths in all of this.
Implement ARM ABI semantics for member pointer constants and conversion.
llvm-svn: 111772
|
| |
|
|
|
|
|
|
|
| |
sure to (1) actually use the remapped files we were given rather
than old data, and (2) keep the remapped files alive until the
code-completion results are destroyed. Big thanks to Daniel for the
test case.
llvm-svn: 111597
|
| |
|
|
|
|
| |
previous precompiled preamble completely. Fixes <rdar://problem/8330950>.
llvm-svn: 111590
|
| |
|
|
|
|
|
|
| |
and reenable crash recovery test.
- Reparsing is still very crashy / weird, so I had to sprinkle random code into
the remapped input to get it to do what I want (i.e., crash!).
llvm-svn: 111550
|
| |
|
|
| |
llvm-svn: 111504
|
| |
|
|
| |
llvm-svn: 111490
|
| |
|
|
| |
llvm-svn: 111474
|
| |
|
|
| |
llvm-svn: 111472
|
| |
|
|
| |
llvm-svn: 111471
|
| |
|
|
| |
llvm-svn: 111467
|
| |
|
|
| |
llvm-svn: 111466
|
| |
|
|
| |
llvm-svn: 111463
|
| |
|
|
|
|
|
|
| |
false (not true), so that the CompilerInstance will actually free data
structures when it's done. This fixes a major leak with libclang's
in-process code completion.
llvm-svn: 111457
|
| |
|
|
|
|
|
| |
convoluted and a bit leaky. Now, the Diagnostic object owns its
DiagnosticClient.
llvm-svn: 111437
|
| |
|
|
| |
llvm-svn: 111279
|
| |
|
|
| |
llvm-svn: 111265
|
| |
|
|
|
|
| |
contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change.
llvm-svn: 111258
|
| |
|
|
|
|
|
|
| |
translation unit, refresh code-completion results because they've
probably changed. However, enforce a cooldown period between
refreshes, to avoid thrashing.
llvm-svn: 111218
|
| |
|
|
| |
llvm-svn: 111204
|
| |
|
|
|
|
|
|
|
|
| |
nested-name-specifiers. Also includes fixes to the generation of
nested-name-specifier result in the non-cached case; we were producing
lame results for namespaces and namespace aliases, which (1) didn't
always have nested-name-specifiers when we want them, and (2) did not
have the necessary "::" as part of the completion.
llvm-svn: 111203
|
| |
|
|
| |
llvm-svn: 111186
|
| |
|
|
| |
llvm-svn: 111184
|
| |
|
|
|
|
| |
inlined. No functionality change.
llvm-svn: 111176
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the usage type of each declaration result, then compare those types to
the preferred type of the completion. This provides parity in the
priority calculation between the code-completion results produced
directly from Sema and those cached by ASTUnit.
For the standard Cocoa.h (+ others) example, there's a penalty of 3-4
hundredeths of a second when caching the global results (for ~31,000
results), because we need an ASTContext-agnostic representation of
types for the comparison, and therefore we use... strings. Eventually,
we'd like to implement a more efficient ASTContext-agnostic encoding
of types.
llvm-svn: 111165
|
| |
|
|
| |
llvm-svn: 111150
|
| |
|
|
|
|
|
|
|
|
|
| |
type class, so that we can adjust priorities appropriately when the
preferred type for the context and the actual type of the completion
are similar.
This gets us one step closer to parity of the cached completion
results with the non-cached completion results.
llvm-svn: 111139
|