| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
written attributes in a property declaration.
rdar://13684512
llvm-svn: 179803
|
|
|
|
|
|
|
|
|
| |
pointer types.
Patch by Doug.
rdar://13684618
llvm-svn: 179769
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add CapturedDecl to be the DeclContext for CapturedStmt, and perform semantic
analysis. Currently captures all variables by reference.
TODO: templates
Author: Ben Langmuir <ben.langmuir@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D433
llvm-svn: 179618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CapturedStmt can be used to implement generic function outlining as described in
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html.
CapturedStmt is not exposed to the C api.
Serialization and template support are pending.
Author: Wei Pan <wei.pan@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D370
llvm-svn: 179615
|
|
|
|
|
|
|
|
| |
references thereto.
Patch by Tong Shen!
llvm-svn: 179585
|
|
|
|
|
|
|
|
| |
resides in a system header.
This is a modified patch provided from Mikołaj Siedlarek!
llvm-svn: 179384
|
|
|
|
|
|
|
|
| |
of a C++ declaration within its parent scope.
Suggested by Stefan Seefeld.
llvm-svn: 179297
|
|
|
|
|
|
|
|
|
|
|
| |
clang_Type_getAlignOf
clang_Type_getSizeOf
clang_Type_getOffsetOf
clang_Cursor_isBitField
Patch by Loïc Jaquemet!
llvm-svn: 179251
|
|
|
|
| |
llvm-svn: 179121
|
|
|
|
|
|
|
|
| |
out-of-line member functions.
rdar://13535645
llvm-svn: 178911
|
|
|
|
|
|
| |
null, before using it.
llvm-svn: 178800
|
|
|
|
|
|
| |
Patch by Matthias Kleine!
llvm-svn: 178475
|
|
|
|
|
|
| |
stderr instead of capturing them.
llvm-svn: 178373
|
|
|
|
|
|
|
|
| |
them
for the IDE case, also create a symlink inside the libclang.dylib directory.
llvm-svn: 178372
|
|
|
|
|
|
| |
Part of rdar://13296693
llvm-svn: 178162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MacroDirective's subclasses.
For each macro directive (define, undefine, visibility) have a separate object that gets chained
to the macro directive history. This has several benefits:
-No need to mutate a MacroDirective when there is a undefine/visibility directive. Stuff like
PPMutationListener become unnecessary.
-No need to keep extra source locations for the undef/visibility locations for the define directive object
(which is the majority of the directives)
-Much easier to hide/unhide a section in the macro directive history.
-Easier to track the effects of the directives across different submodules.
llvm-svn: 178037
|
|
|
|
| |
llvm-svn: 177705
|
|
|
|
|
|
| |
template decl.
llvm-svn: 177359
|
|
|
|
|
|
|
|
|
|
|
| |
This allows resolving top-header filenames of modules to FileEntries when
we need them, not eagerly.
Note that that this breaks ABI for libclang functions
clang_Module_getTopLevelHeader / clang_Module_getNumTopLevelHeaders
but this is fine because they are experimental and not widely used yet.
llvm-svn: 176975
|
|
|
|
|
|
|
|
| |
return an enum,
as suggested by Jordan.
llvm-svn: 176732
|
|
|
|
|
|
|
|
|
|
|
| |
return a value.
Possible values are:
1 : if a parameter was invalid
-1 : if the callback returned CXVisit_Break,
otherwise returns 0.
llvm-svn: 176716
|
|
|
|
|
|
|
|
|
| |
all #import/#include directives in a specific file.
It passes to the visitor, that the caller provides, CXCursor_InclusionDirective cursors for
all the include directives in a particular file.
llvm-svn: 176682
|
|
|
|
|
|
| |
stop visitation if it returns CXVisit_Break.
llvm-svn: 176681
|
|
|
|
| |
llvm-svn: 176680
|
|
|
|
|
|
| |
print out the filename.
llvm-svn: 176511
|
|
|
|
|
|
| |
These all appear in comments or (ironically) diagnostics output.
llvm-svn: 176383
|
|
|
|
|
|
| |
doxygen commands. // rdar://12379053
llvm-svn: 176127
|
|
|
|
|
|
|
|
| |
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
|