| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 140016
|
|
|
|
| |
llvm-svn: 139661
|
|
|
|
|
|
|
|
|
|
| |
clang_getExpansionLocation
but takes into account #line directives coming from preprocessed files.
Patch by Vinay Sajip!
llvm-svn: 139647
|
|
|
|
|
|
| |
inside the IBOutletCollection attribute.
llvm-svn: 139621
|
|
|
|
| |
llvm-svn: 139620
|
|
|
|
|
|
|
|
| |
-Allow cursor visitation of an attribute using its source range
-Add C++ 'final' and 'override' attributes as cursor kinds
-Simplify the logic that marks 'final' and 'override' attributes as tokens.
llvm-svn: 139609
|
|
|
|
|
|
|
| |
a DeclRefExpr, MemberExpr, etc. with a CastExpr if it is ImplicitCast,
since the implicit cast is the one that is invisible in source code.
llvm-svn: 139547
|
|
|
|
|
|
| |
whether a Decl was deserialized from an AST file (any AST file).
llvm-svn: 139438
|
|
|
|
| |
llvm-svn: 139436
|
|
|
|
|
|
|
|
|
|
|
| |
system for macro-backed source locations. The old APIs are preserved for
legacy users.
This was intended to land with the main work of instantiation ->
expansion, but despite running it by Doug over a month ago, I forgot to
commit it. Very sorry for that...
llvm-svn: 138860
|
|
|
|
|
|
| |
tokens array.
llvm-svn: 138813
|
|
|
|
|
|
|
|
|
|
| |
, such as list of forward @class decls, in a DeclGroup
node. Deal with its consequence throught clang. This
is in preparation for more Sema work ahead. // rdar://8843851.
Feel free to reverse if it breaks something important
and I am unavailable.
llvm-svn: 138709
|
|
|
|
|
|
| |
associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file
llvm-svn: 138597
|
|
|
|
|
|
|
|
|
| |
from the given source. -emit-module behaves similarly to -emit-pch,
except that Sema is somewhat more strict about the contents of
-emit-module. In the future, there are likely to be more interesting
differences.
llvm-svn: 138595
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a type specifier.
e.g. for:
typedef struct _MyS {
int foo;
} MyS;
pointing at field 'foo' would give a cursor for the typedef declaration 'MyS'
instead of the field.
llvm-svn: 138593
|
|
|
|
|
|
| |
dead.
llvm-svn: 137999
|
|
|
|
| |
llvm-svn: 137961
|
|
|
|
|
|
|
|
|
| |
AllocatedResults being freed after a CXTranslationUnit.
The Container USR's CXString had its underlying data owned by the CXTranslationUnit's string pool. This
would result in trying to access freed memory.
llvm-svn: 137887
|
|
|
|
|
|
| |
Plus, isSynthesized returning true does not mean that there is not a user-declared method declaration.
llvm-svn: 137858
|
|
|
|
|
|
|
|
| |
user-declared) as implicit.
This results in libclang ignoring such methods.
llvm-svn: 137852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
macro arguments.
e.g. for:
\define INVOKE(METHOD, CLASS) [CLASS METHOD]
void test2() {
INVOKE(meth, MyClass);
}
Pointing at 'meth' will give a CXCursor_ObjCMessageExpr and pointing at 'MyClass'
will give a CXCursor_ObjCClassRef.
llvm-svn: 137796
|
|
|
|
|
|
| |
fail if a TypeLoc kind is not handled) and handle DecltypeTypeLoc and InjectedClassNameTypeLoc.
llvm-svn: 137670
|
|
|
|
| |
llvm-svn: 137634
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Microsoft mode. A new AST node is introduced: ClassScopeFunctionSpecialization. This node holds a FunctionDecl that is not yet specialized; then during the class template instantiation the ClassScopeFunctionSpecialization will spawn the actual function specialization.
Example:
template <class T>
class A {
public:
template <class U> void f(U p) { }
template <> void f(int p) { } // <== class scope specialization
};
This extension is necessary to parse MSVC standard C++ headers, MFC and ATL code.
BTW, with this feature in, clang can parse (-fsyntax-only) all the MSVC 2010 standard header files without any error.
llvm-svn: 137573
|
|
|
|
|
|
|
|
|
|
| |
declaration that never actually gets serialized. Instead, serialize
the various kinds of update records (lexical decls, visible decls, the
addition of an anonymous namespace) for the translation unit, even if
we're not chaining. This way, we won't have to deal with multiple
loaded translation unit declarations.
llvm-svn: 137395
|
|
|
|
|
|
|
|
| |
points at the
synthesized method for the property. rdar://9771715
llvm-svn: 137248
|
|
|
|
| |
llvm-svn: 137218
|
|
|
|
|
|
| |
cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>.
llvm-svn: 136911
|
|
|
|
|
|
|
|
| |
already-defined and forward-declared results. Already-defined results
are fine because they could be the start of a category. Fixes
<rdar://problem/9811691>.
llvm-svn: 136559
|
|
|
|
|
|
|
| |
This required converting the StringMaps to use a BumpPtrAllocator. I measured the
compile time and saw no observable regression.
llvm-svn: 136190
|
|
|
|
|
|
| |
SourceManager.
llvm-svn: 136189
|
|
|
|
| |
llvm-svn: 136092
|
|
|
|
|
|
|
| |
provides the partial Objective-C selector used in a code
completion. From Connor Wakamo!
llvm-svn: 136084
|
|
|
|
|
|
|
| |
- buildPieces was return a C++ object from inside an extern "C". (MSVC didn't like that)
- clang_getCursorReferenceNameRange was missing a CINDEX_LINKAGE causing a link error.
llvm-svn: 135983
|
|
|
|
|
|
| |
SourceManager and FullSourceLoc.
llvm-svn: 135969
|
|
|
|
|
|
| |
SourceManager and FullSourceLoc.
llvm-svn: 135965
|
|
|
|
| |
llvm-svn: 135962
|
|
|
|
|
|
| |
a cursor reference, from Erik Verbruggen!
llvm-svn: 135920
|
|
|
|
| |
llvm-svn: 135915
|
|
|
|
|
|
|
|
| |
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part
of the API and documentation update from 'instantiation' as the term for
macros to 'expansion'.
llvm-svn: 135914
|
|
|
|
| |
llvm-svn: 135860
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
| |
Connor Wakamo!
llvm-svn: 135651
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
entities generated directly by the preprocessor from those loaded from
the external source (e.g., the ASTReader). By separating these two
sets of entities into different vectors, we allow both to grow
independently, and eliminate the need for preallocating all of the
loaded preprocessing entities. This is similar to the way the recent
SourceManager refactoring treats FileIDs and the source location
address space.
As part of this, switch over to building a continuous range map to
track preprocessing entities.
llvm-svn: 135646
|
|
|
|
|
|
|
| |
some common llvm types: stringref and smallvector. This cleans up the codebase
quite a bit.
llvm-svn: 135576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
source locations from source locations loaded from an AST/PCH file.
Previously, loading an AST/PCH file involved carefully pre-allocating
space at the beginning of the source manager for the source locations
and FileIDs that correspond to the prefix, and then appending the
source locations/FileIDs used for parsing the remaining translation
unit. This design forced us into loading PCH files early, as a prefix,
whic has become a rather significant limitation.
This patch splits the SourceManager space into two parts: for source
location "addresses", the lower values (growing upward) are used to
describe parsed code, while upper values (growing downward) are used
for source locations loaded from AST/PCH files. Similarly, positive
FileIDs are used to describe parsed code while negative FileIDs are
used to file/macro locations loaded from AST/PCH files. As a result,
we can load PCH/AST files even during parsing, making various
improvemnts in the future possible, e.g., teaching #include <foo.h> to
look for and load <foo.h.gch> if it happens to be already available.
This patch was originally written by Sebastian Redl, then brought
forward to the modern age by Jonathan Turner, and finally
polished/finished by me to be committed.
llvm-svn: 135484
|
|
|
|
| |
llvm-svn: 135316
|
|
|
|
|
|
| |
Fariborz's comments.
llvm-svn: 135314
|
|
|
|
|
|
|
|
| |
to represent a fully-substituted non-type template parameter.
This should improve source fidelity, as well as being generically
useful for diagnostics and such.
llvm-svn: 135243
|
|
|
|
|
|
| |
macros in libclang.
llvm-svn: 135148
|