| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
available the
full information about the macro (e.g if it was imported and where).
llvm-svn: 175978
|
|
|
|
| |
llvm-svn: 175936
|
|
|
|
| |
llvm-svn: 175912
|
|
|
|
|
|
|
| |
This may need to be fixed more intelligently - I don't have enough context to
be sure what the appropriate fix is right now.
llvm-svn: 175902
|
|
|
|
|
|
|
|
| |
Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain
to the EmptyDecl node by creating the AST representations of these attributes and attach them to the EmptyDecl node so these
attributes can be sema checked just as attributes attached to "normal" declarations.
llvm-svn: 175900
|
|
|
|
|
|
| |
PrintTemplateArgumentList.
llvm-svn: 175894
|
|
|
|
|
|
| |
did not work as expected.
llvm-svn: 175711
|
|
|
|
| |
llvm-svn: 175705
|
|
|
|
| |
llvm-svn: 175701
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MacroInfo class
for the data specific to a macro definition (e.g. what the tokens are), and
MacroDirective class which encapsulates the changes to the "macro namespace"
(e.g. the location where the macro name became active, the location where it was undefined, etc.)
(A MacroDirective always points to a MacroInfo object.)
Usually a macro definition (MacroInfo) is where a macro name becomes active (MacroDirective) but
splitting the concepts allows us to better model the effect of modules to the macro namespace
(also as a bonus it allows better modeling of push_macro/pop_macro #pragmas).
Modules can have their own macro history, separate from the local (current translation unit)
macro history; MacroDirectives will be used to model the macro history (changes to macro namespace).
For example, if "@import A;" imports macro FOO, there will be a new local MacroDirective created
to indicate that "FOO" became active at the import location. Module "A" itself will contain another
MacroDirective in its macro history (at the point of the definition of FOO) and both MacroDirectives
will point to the same MacroInfo object.
Introducing the separation of macro concepts is the first part towards better modeling of module macros.
llvm-svn: 175585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TypeLoc hierarchy used the llvm::cast machinery to perform undefined
behavior by casting pointers/references to TypeLoc objects to derived types
and then using the derived copy constructors (or even returning pointers to
derived types that actually point to the original TypeLoc object).
Some context is in this thread:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056804.html
Though it's spread over a few months which can be hard to read in the mail
archive.
llvm-svn: 175462
|
|
|
|
|
|
|
|
|
|
| |
if the nul-terminatedness property is important for clients.
Also, don't return the same CXString multiple times. This did not create a
correctness issue in practice because the CXString was of an CXS_Unmanaged
kind, and destruction was a no-op.
llvm-svn: 175455
|
|
|
|
| |
llvm-svn: 175333
|
|
|
|
|
|
|
|
|
| |
Adds a function clang_getTypeSpelling(CXType CT) that returns
a CXString containing the underlying type.
Patch by Ben Gertzfield.
llvm-svn: 175299
|
|
|
|
|
|
| |
directly instead of casting a pointer to an integer
llvm-svn: 175206
|
|
|
|
|
|
| |
the Apple way.
llvm-svn: 175070
|
|
|
|
|
|
|
|
|
| |
is inside a macro argument.
Previously we would give up and not annotate anything in the range.
rdar://11891550
llvm-svn: 175062
|
|
|
|
| |
llvm-svn: 174809
|
|
|
|
|
|
|
|
|
| |
we annotate properly when there is an attribute and not skip type specs
if the attribute is after the declaration.
rdar://13129077
llvm-svn: 174689
|
|
|
|
|
|
|
|
|
| |
ContainerUSR is not really a CXString, but it should own the underlying memory
buffer. Thus, it is better to change the type to std::string. This will not
introduce extra copying overhead, since the workaround that is being removed
was already making a copy.
llvm-svn: 174647
|
|
|
|
| |
llvm-svn: 174606
|
|
|
|
|
|
| |
restrictions.
llvm-svn: 174601
|
|
|
|
| |
llvm-svn: 174290
|
|
|
|
|
|
| |
This removes quite a few 'cxstring::' qualifications where they are obvious.
llvm-svn: 174286
|
|
|
|
| |
llvm-svn: 174285
|
|
|
|
| |
llvm-svn: 174284
|
|
|
|
| |
llvm-svn: 174283
|
|
|
|
| |
llvm-svn: 174281
|
|
|
|
| |
llvm-svn: 174280
|
|
|
|
|
|
| |
Also migrate all clients from the old API.
llvm-svn: 174263
|
|
|
|
|
|
| |
Also migrate all clients from the old API.
llvm-svn: 174238
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces a 'kind' attribute for the <Para> tag, that captures the
kind of the parent block command.
For example:
\todo Meow.
used to be just <Para>Meow.</Para>, but now it is
<Para kind="todo">Meow.</Para>
llvm-svn: 174216
|
|
|
|
| |
llvm-svn: 174195
|
|
|
|
| |
llvm-svn: 174194
|
|
|
|
| |
llvm-svn: 174174
|
|
|
|
| |
llvm-svn: 174173
|
|
|
|
|
|
|
|
| |
\headerfile command and representing it in an xml
document. Patch reviewed by Dmitri Gribenko.
// rdar://12397511
llvm-svn: 174109
|
|
|
|
| |
llvm-svn: 174060
|
|
|
|
|
|
| |
result to consider the completion context
llvm-svn: 174037
|
|
|
|
|
|
|
| |
We are not exposing the pool or string buffers to libclang users, so no need to
maintain a procedural interface.
llvm-svn: 173595
|
|
|
|
| |
llvm-svn: 173590
|
|
|
|
| |
llvm-svn: 173589
|
|
|
|
|
|
|
| |
There is no reason to store pointers as 'void*' in CXTranslationUnitImpl, since
it does not affect libclang ABI.
llvm-svn: 173588
|
|
|
|
|
|
| |
into a getter cxtu::getASTUnit(TU)
llvm-svn: 173585
|
|
|
|
| |
llvm-svn: 173584
|
|
|
|
| |
llvm-svn: 173583
|
|
|
|
|
|
| |
Also change EnqueueVisitor to use ConstStmtVisitor as a consequence.
llvm-svn: 173577
|
|
|
|
|
|
|
|
|
|
|
| |
for a CXFile containing device/inode/modification time.
Intended to be useful as a key associated with a unique file across
an indexing session.
rdar://13091837
llvm-svn: 173559
|
|
|
|
| |
llvm-svn: 173278
|
|
|
|
| |
llvm-svn: 173269
|