| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When -working-directory is passed in command line, file paths are resolved relative to the specified directory.
This helps both when using libclang (where we can't require the user to actually change the working directory)
and to help reproduce test cases when the reproduction work comes along.
--FileSystemOptions is introduced which controls how file system operations are performed (currently it just contains
the working directory value if set).
--FileSystemOptions are passed around to various interfaces that perform file operations.
--Opening & reading the content of files should be done only through FileManager. This is useful in general since
file operations will be abstracted in the future for the reproduction mechanism.
FileSystemOptions is independent of FileManager so that we can have multiple translation units sharing the same
FileManager but with different FileSystemOptions.
Addresses rdar://8583824.
llvm-svn: 118203
|
|
|
|
|
|
|
| |
libclang with both clang -fblocks and gcc (no blocks support). Only exposed in
the header to compilers that do have blocks support.
llvm-svn: 118170
|
|
|
|
|
|
|
|
|
| |
ensuring that they cover all of their child nodes. There's still a
clang_getCursor()-related issue with CXXFunctionalCastExprs with
CXXConstructExprs as children (see FIXME in the test case); I'll look
at that separately.
llvm-svn: 118132
|
|
|
|
| |
llvm-svn: 118111
|
|
|
|
|
|
|
|
|
|
|
| |
declared
within an @implementation, but we have no way to record that information in the AST.
This may cause CursorVisitor to miss these Decls when doing a AST walk.
Fixes <rdar://problem/8595462>.
llvm-svn: 118109
|
|
|
|
|
|
|
|
|
|
|
|
| |
Decl in a DeclGroup. We use this
to recover some context that is currently not modeled directly in the AST. Currently VarDecl's cannot
properly determine their source range because they have no context on whether or not they appear in a DeclGroup.
For the meantime, this bandaid suffices in libclang since that is where the correct SourceRange is directly needed.
Fixes <rdar://problem/8595749>.
llvm-svn: 117973
|
|
|
|
| |
llvm-svn: 117946
|
|
|
|
| |
llvm-svn: 117634
|
|
|
|
|
|
| |
separating out chaining precompiled preambles from non-chaining ones.
llvm-svn: 117457
|
|
|
|
| |
llvm-svn: 117167
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
entities in the preprocessing record. Previously, we would only end up
getting the first token of a preprocessing record annotated
correctly. For example, given
#include "foo.h"
we would only get the '#' annotated as an inclusion directive; the
'include' and '"foo.h"' tokens would be given the general 'processing
directive' annotation.
Now, we get proper annotations for entities in the preprocessing
record.
llvm-svn: 117001
|
|
|
|
|
|
|
|
|
| |
inclusion directives, keeping track of every #include, #import,
etc. in the translation unit. We keep track of the source location and
kind of the inclusion, how the file name was spelled, and the
underlying file to which the inclusion resolved.
llvm-svn: 116952
|
|
|
|
|
|
|
|
|
| |
declaring methods and when sending messages to them, by bringing all
of the selector into TypedCheck chunks in the completion result. This
way, we can improve the sorting of these results to account for the
full selector name rather than just the first chunk.
llvm-svn: 116746
|
|
|
|
|
|
| |
from a character index into a file.
llvm-svn: 116587
|
|
|
|
|
|
|
| |
'super' as receiver of property or a setter/getter
methods. //rdar: //8525788
llvm-svn: 116483
|
|
|
|
|
|
|
|
|
|
| |
are keywords unless they are preceded by an @.
For example, don't claim that end is a keyword in:
unsigned end;
llvm-svn: 116439
|
|
|
|
|
|
| |
The problem was that text files were open in text mode and Microsoft implementation of fread and write will try to do nasty line-feed conversion which make the line position no longer valid. The fix is to read and write files in binary mode.
llvm-svn: 116286
|
|
|
|
|
|
|
|
|
| |
diagnostics produced by the driver itself. Previously, we were
allowing these to either be dropped or to slip through to stderr.
Fixes <rdar://problem/7595339>.
llvm-svn: 116285
|
|
|
|
|
|
|
|
|
|
|
| |
on the presence of a 'clang' executable. Simplify
CIndexer::getClangResourcesPath() a bit.
Patch up the CMake makefiles to install headers into two locations in
the build tree, for those silly cases where 'clang' will end up
looking into the wrong build directory for headers.
llvm-svn: 116260
|
|
|
|
|
|
|
|
| |
emitting diagnostics in a binary form to be consumed by libclang,
since libclang no longer does any of its work out-of-process, making
this code dead. Besides, this stuff never worked at 100% anyway.
llvm-svn: 116250
|
|
|
|
|
|
| |
faster, in-process, more-configurable clang_codeCompleteAt().
llvm-svn: 116245
|
|
|
|
|
|
|
|
|
|
| |
clang_codeCompleteAt(). This uncovered a few issues with the latter:
- ASTUnit wasn't saving/restoring diagnostic state appropriately between
reparses and code completions.
- "Overload" completions weren't being passed through to the client
llvm-svn: 116241
|
|
|
|
|
|
|
|
|
| |
improvements to the compiler and the introduction of crash recovery,
it no longer makes sense to allow this mode. Moreover, this eliminates
one use of the "clang" executable from within libclang; we'd like them
all to go away.
llvm-svn: 116207
|
|
|
|
|
|
| |
rather than a space.
llvm-svn: 116097
|
|
|
|
|
|
| |
sets up signal handlers it shouldn't when we are being used a shared library.
llvm-svn: 116084
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
following amusing sequence:
- AST writing schedules writing a type X* that it had never seen
before
- AST writing starts writing another declaration, ends up
deserializing X* from a prior AST file. Now we have two type IDs for
the same type!
- AST writer tries to write X*. It only has the lower-numbered ID
from the the prior AST file, so references to the higher-numbered ID
that was scheduled for writing go off into lalaland.
To fix this, keep the higher-numbered ID so we end up writing the type
twice. Since this issue occurs so rarely, and type records are
generally rather small, I deemed this better than the alternative: to
keep a separate mapping from the higher-numbered IDs to the
lower-numbered IDs, which we would end up having to check whenever we
want to deserialize any type.
Fixes <rdar://problem/8511624>, I think.
llvm-svn: 115647
|
|
|
|
|
|
|
|
| |
produces a simple "display" name that captures the
arguments/parameters for a function, function template, class
template, or class template specialization.
llvm-svn: 115428
|
|
|
|
|
|
|
|
|
|
|
| |
to types.
Also, teach clang_getTypeDeclaration() about template specializations,
injected-class-names, and elaborated types.
Fixes <rdar://problem/8506460>.
llvm-svn: 115425
|
|
|
|
|
|
| |
argument is already in the command-line arguments
llvm-svn: 115420
|
|
|
|
|
|
|
| |
specifier cursors in libclang. FIXME -=2, fixes the rest of
<rdar://problem/8274883>.
llvm-svn: 115419
|
|
|
|
|
|
| |
and protocol expressions. Fixes <rdar://problem/7833565>.
llvm-svn: 115346
|
|
|
|
|
|
|
| |
member function or an Objective-C method, which other member
functions/methods it overrides.
llvm-svn: 115338
|
|
|
|
|
|
| |
libclang options for editing a translation unit.
llvm-svn: 114810
|
|
|
|
|
|
| |
likely to be multithreaded. Also move the printing of timers to somewhere better for multithreaded libclang clients
llvm-svn: 114760
|
|
|
|
| |
llvm-svn: 114682
|
|
|
|
|
|
| |
semantic parents of the given cursor.
llvm-svn: 114587
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods declared with @property in class extensions.
This matches the behavior for setters.
Also pass the class extension to ProcessPropertyDecl as the lexical DeclContext, even when not redeclaring the @property.
This fixes the remaining issues in <rdar://problem/7410145>.
llvm-svn: 114477
|
|
|
|
| |
llvm-svn: 114394
|
|
|
|
|
|
| |
generating USRs. While I have no test case for this (could not create one), this shows up in crash reports. Tentatively fixes <rdar://problem/8452791>.
llvm-svn: 114392
|
|
|
|
|
|
|
| |
that redundant types don't result in super-long USRs. Fixes
<rdar://problem/8447875>.
llvm-svn: 114347
|
|
|
|
|
|
|
| |
check for NULL and visit the InitListExpr we have if there is no
syntactic form.
llvm-svn: 114203
|
|
|
|
|
|
| |
mistake
llvm-svn: 114075
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead"
This reverts commit r113631
Conflicts:
CMakeLists.txt
lib/CodeGen/CMakeLists.txt
llvm-svn: 113817
|
|
|
|
|
|
|
|
|
| |
to an "overloaded" set of declarations. This cursor kind works for
unresolved references to functions/templates (e.g., a call within a
template), using declarations, and Objective-C class and protocol
forward declarations.
llvm-svn: 113805
|
|
|
|
| |
llvm-svn: 113656
|
|
|
|
|
|
| |
of whatever we were using before...
llvm-svn: 113631
|
|
|
|
| |
llvm-svn: 113623
|
|
|
|
|
|
| |
address of a label (GNU extension).
llvm-svn: 113564
|
|
|
|
| |
llvm-svn: 113560
|
|
|
|
|
|
| |
and array references).
llvm-svn: 113556
|