| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 146019
|
|
|
|
|
|
| |
<rdar://problem/10538300>.
llvm-svn: 146011
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Exposes a CXType_Vector type kind for vector types.
- Adds generalized versions of the clang_getArrayElementType and clang_getArraySize functions, named clang_getElementType and clang_getNumElements, which work on array, vector, or complex types.
- Adds additional functions for querying function types. clang_isFunctionTypeVariadic returns true if a function type is variadic. clang_getFunctionCallingConv returns an enumeration value indicating the calling convention of the function type. clang_getNumArgTypes returns the number of static argument types, and clang_getArgType gets the type of an argument.
- Adds a clang_getTypedefDeclUnderlyingType function to get the underlying type from a TypedefDecl cursor.
- Adds a clang_getEnumDeclIntegerType function to get the integer type from an EnumDecl cursor.
- Adds clang_getEnumConstantDeclValue and clang_getEnumConstantDeclUnsignedValue functions to get the value of an EnumConstantDecl as a signed or unsigned long long, respectively.
- Exposes a CXCursor_AsmLabelAttr cursor kind for __asm__("label") attributes.
- Alters clang_getCursorSpelling to return the label value for AsmLabelAttr-kind cursors.
llvm-svn: 145972
|
|
|
|
|
|
| |
of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503.
llvm-svn: 145859
|
|
|
|
| |
llvm-svn: 145751
|
|
|
|
|
|
| |
C++ catch.
llvm-svn: 145750
|
|
|
|
|
|
|
|
| |
__import_module__ std.vector;
in the AST.
llvm-svn: 145725
|
|
|
|
| |
llvm-svn: 145557
|
|
|
|
|
|
| |
clang_findReferencesInFile.
llvm-svn: 145455
|
|
|
|
| |
llvm-svn: 145397
|
|
|
|
| |
llvm-svn: 145396
|
|
|
|
| |
llvm-svn: 145393
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expansions/definition
of a macro in a file).
As a bonus, also make searching for declarations more efficient by ignoring
preprocessing entities when we know that we are looking for a declaration.
Fixes rdar://10427411.
llvm-svn: 145369
|
|
|
|
|
|
| |
<rdar://problem/10473903>.
llvm-svn: 145339
|
|
|
|
|
|
|
|
|
| |
before passing to RangeCompare.
Though no idea how this can occur with the decls returned from
findFileRegionDecls().
llvm-svn: 145301
|
|
|
|
|
|
|
|
| |
after
indexing, honor all the TU options.
llvm-svn: 145229
|
|
|
|
| |
llvm-svn: 145228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file region
inside an objc container that "contains" other file-level declarations.
When getting the array of file-level declarations that overlap with a file region,
we failed to report that the region overlaps with an objc container, if
the container had other file-level declarations declared lexically inside it.
Fix this by marking such declarations as "isTopLevelDeclInObjCContainer" in the AST
and handling them appropriately.
llvm-svn: 145109
|
|
|
|
| |
llvm-svn: 145107
|
|
|
|
| |
llvm-svn: 145058
|
|
|
|
|
|
| |
parsing or false to abort parsing.
llvm-svn: 144943
|
|
|
|
|
|
|
|
|
| |
-For indexDeclaration, also pass the declaration attributes as an array of cursors.
-Rename CXIndexOpt_OneRefPerFile -> CXIndexOpt_SuppressRedundantRefs, and only pass
a reference if a declaration/definition does not exist in the file.
-Other fixes.
llvm-svn: 144942
|
|
|
|
|
|
| |
without USR or location.
llvm-svn: 144941
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
object. I discovered that llvm::RefCountedBase<T> has
a bug where the reference count is copied in the copy constructor, which means that there were cases when the CompilerInvocation
objects created by ASTUnit were actually leaked. When I fixed that bug locally, it showed that a whole bunch of code assumed
that the LangOptions object that was part of CompilerInvocation was still alive. By making it heap-allocated and reference counted,
we can keep it around after the CompilerInvocation object goes away.
As part of this change, change CompilerInvocation:getLangOptions() to return a pointer, acting as another clue that this
object may outlive the CompilerInvocation object.
This commit doesn't fix the CompilerInvocation leak itself. That will come when I commit the fix to llvm::RefCountedBase<T> to
mainline LLVM.
llvm-svn: 144930
|
|
|
|
|
|
|
|
| |
reset of
diagnostic set is necessary.
llvm-svn: 144793
|
|
|
|
|
|
|
|
| |
avoid
unnecessary deserializations.
llvm-svn: 144792
|
|
|
|
|
|
|
|
| |
deserialization and avoid
unnecessary deserializations.
llvm-svn: 144791
|
|
|
|
|
|
|
|
| |
implementation and
do not crash if no client container is registered for a declaration context.
llvm-svn: 144765
|
|
|
|
| |
llvm-svn: 144764
|
|
|
|
|
|
|
|
| |
report one reference
per file.
llvm-svn: 144763
|
|
|
|
|
|
|
|
| |
diagnostics
in the ASTUnit changed.
llvm-svn: 144762
|
|
|
|
|
|
|
|
| |
without @interface)
in a separate indexing callback than its implementation.
llvm-svn: 144625
|
|
|
|
|
|
|
|
| |
existing
CXTranslationUnit, mainly to be used for indexing a PCH.
llvm-svn: 144623
|
|
|
|
|
|
| |
the number of overriden cursors is 0, do not allocate an array of CXCursors. This fixes a memory leak in c-index-test, and clients who use this API in a similar way.
llvm-svn: 144595
|
|
|
|
|
|
| |
for it.
llvm-svn: 144577
|
|
|
|
|
|
|
| |
That stuff can be added later on if we need them.
Also add some const goodness.
llvm-svn: 144446
|
|
|
|
|
|
| |
character, and change the creation of the FixIT's string to again just rely on this string (instead of duplicating it when calling createCXString).
llvm-svn: 144389
|
|
|
|
|
|
|
|
| |
terminator on fixit.
FixIts might be exposed as C string via clang_getCString(), though the zero terminator is not allocated in CXLoadedDiagnosticSetImpl::makeString.
llvm-svn: 144379
|
|
|
|
|
|
|
|
| |
Cut down the number of callbacks to more generic ones. Clients can check
an enum to find out what kind of declaration it is and they can call functions
to get more specific information than the generic provided info.
llvm-svn: 144343
|
|
|
|
|
|
|
|
| |
via the libclang API.
I've tested it on simple cases and it works. Test cases to follow as well as a few tweaks.
llvm-svn: 144269
|
|
|
|
| |
llvm-svn: 144116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
property references to use a new PseudoObjectExpr
expression which pairs a syntactic form of the expression
with a set of semantic expressions implementing it.
This should significantly reduce the complexity required
elsewhere in the compiler to deal with these kinds of
expressions (e.g. IR generation's special l-value kind,
the static analyzer's Message abstraction), at the lower
cost of specifically dealing with the odd AST structure
of these expressions. It should also greatly simplify
efforts to implement similar language features in the
future, most notably Managed C++'s properties and indexed
properties.
Most of the effort here is in dealing with the various
clients of the AST. I've gone ahead and simplified the
ObjC rewriter's use of properties; other clients, like
IR-gen and the static analyzer, have all the old
complexity *and* all the new complexity, at least
temporarily. Many thanks to Ted for writing and advising
on the necessary changes to the static analyzer.
I've xfailed a small diagnostics regression in the static
analyzer at Ted's request.
llvm-svn: 143867
|
|
|
|
| |
llvm-svn: 143639
|
|
|
|
| |
llvm-svn: 143637
|
|
|
|
|
|
|
|
|
|
|
| |
that function
always returning a null file/line/column.
Also add at least one use of clang_getExpansionLocation inside c-index-test that would have
made the tests to catch that.
llvm-svn: 143606
|
|
|
|
|
|
|
|
| |
region and
use it for clang_getCursor.
llvm-svn: 143605
|
|
|
|
| |
llvm-svn: 143508
|
|
|
|
|
|
|
|
|
|
| |
or ivar
it contains give it a USR based on its semantic context, which is the interface.
This follows what we already did for objc methods. rdar://10371669
llvm-svn: 143464
|
|
|
|
|
|
|
|
|
| |
that it retains source location information for the type. Aside from
general goodness (being able to walk the types described in that
information), we now have a proper representation for dependent
delegating constructors. Fixes PR10457 (for real).
llvm-svn: 143410
|
|
|
|
|
|
|
|
| |
implementation if the lowest bit of ptr_data[0] is not 0. This
is prep for work on serialized diagnostics.
llvm-svn: 143373
|