Argyrios Kyrtzidis
1030f26261
[libclang] Add a null check in CursorVisitor::visitPreprocessedEntities.
...
rdar://13680583
llvm-svn: 181352
2013-05-07 20:37:17 +00:00
Argyrios Kyrtzidis
fe6a01253e
Have the RecursiveASTVisitor traverse the type source info of an objc class message.
...
llvm-svn: 181237
2013-05-06 19:08:57 +00:00
Douglas Gregor
30071cead9
Remove DiagnosticConsumer::clone(), a bad idea that is now unused.
...
llvm-svn: 181070
2013-05-03 23:07:45 +00:00
Argyrios Kyrtzidis
37e48ff547
[Preprocessor] For the MacroExpands preprocessor callback, also pass the MacroArgs object that provides information about
...
the argument tokens for a function macro.
llvm-svn: 181065
2013-05-03 22:31:32 +00:00
Bill Wendling
952e8dfa8c
Remove redundant flag.
...
llvm-svn: 180968
2013-05-02 22:53:00 +00:00
Bill Wendling
3dfc28782f
We don't want FP elimination when doing an Apple-style build.
...
llvm-svn: 180950
2013-05-02 21:09:11 +00:00
Argyrios Kyrtzidis
12fdb9e34b
[libclang] Introduce clang_Module_getASTFile function that returns the module file where a module object came from.
...
rdar://13743084
llvm-svn: 180643
2013-04-26 22:47:49 +00:00
Ted Kremenek
29b28e8f07
Fix typo in comparison in clang_CXCursorSet_contains().
...
Fixes PR 10124.
Patch by Jens Kilian.
Thanks to Nikola Smiljanic for following up.
llvm-svn: 180177
2013-04-24 07:25:40 +00:00
Ted Kremenek
c0b98663e9
Revert "Remove CXCursorSet and related APIs. There are no known clients."
...
Apparently there are...
llvm-svn: 180176
2013-04-24 07:17:12 +00:00
Ted Kremenek
616986f859
Remove CXCursorSet and related APIs. There are no known clients.
...
llvm-svn: 180174
2013-04-24 06:52:14 +00:00
Argyrios Kyrtzidis
c2233beba4
[libclang] Introduce a CXCursor_ObjCSelfExpr cursor, which is the equivalent of CXCursor_CXXThisExpr for C++ code.
...
rdar://13717006
llvm-svn: 180127
2013-04-23 17:57:17 +00:00
Richard Smith
852c9db72b
C++1y: Allow aggregates to have default initializers.
...
Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in
CXXCtorInitializers and in InitListExprs to represent a default initializer.
There's an additional complication here: because the default initializer can
refer to the initialized object via its 'this' pointer, we need to make sure
that 'this' points to the right thing within the evaluation.
llvm-svn: 179958
2013-04-20 22:23:05 +00:00
Argyrios Kyrtzidis
23814e4f49
[libclang] Introduce clang_Cursor_isVariadic, which returns non-zero if the given cursor is a variadic function or method.
...
rdar://13667150
llvm-svn: 179819
2013-04-18 23:53:05 +00:00
Argyrios Kyrtzidis
9d9bc01e42
[libclang] Introduce clang_Cursor_getObjCDeclQualifiers, to query for 'ObjC Qualifiers' written next to the return and
...
parameter types in an ObjC method declarations.
rdar://13676977
llvm-svn: 179816
2013-04-18 23:29:12 +00:00
Argyrios Kyrtzidis
9adfd8aabb
[libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the written attributes in a property declaration.
...
rdar://13684512
llvm-svn: 179803
2013-04-18 22:15:49 +00:00
Argyrios Kyrtzidis
5af4f2b7ea
[libclang] Report parameter array types as written in source, not decayed to pointer types.
...
Patch by Doug.
rdar://13684618
llvm-svn: 179769
2013-04-18 16:41:15 +00:00
Tareq A. Siraj
6dfa25a19f
Sema for Captured Statements
...
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
2013-04-16 19:37:38 +00:00
Tareq A. Siraj
24110cc733
Implement CapturedStmt AST
...
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
2013-04-16 18:53:08 +00:00
John McCall
5e77d76c95
Basic support for Microsoft property declarations and
...
references thereto.
Patch by Tong Shen!
llvm-svn: 179585
2013-04-16 07:28:30 +00:00
Argyrios Kyrtzidis
25f7af1aeb
[libclang] Introduce clang_Location_isInSystemHeader to check if a location resides in a system header.
...
This is a modified patch provided from Mikołaj Siedlarek!
llvm-svn: 179384
2013-04-12 17:06:51 +00:00
Argyrios Kyrtzidis
1ab09cc883
[libclang] Have clang_getCXXAccessSpecifier() also return the access control of a C++ declaration within its parent scope.
...
Suggested by Stefan Seefeld.
llvm-svn: 179297
2013-04-11 17:02:10 +00:00
Argyrios Kyrtzidis
e822f58db4
[libclang] Expose record layout info via new libclang functions:
...
clang_Type_getAlignOf
clang_Type_getSizeOf
clang_Type_getOffsetOf
clang_Cursor_isBitField
Patch by Loïc Jaquemet!
llvm-svn: 179251
2013-04-11 01:20:11 +00:00
Argyrios Kyrtzidis
2bee666540
[libclang] In cxtu::getASTUnit(), check for a null CXTranslationUnit.
...
llvm-svn: 179121
2013-04-09 20:03:03 +00:00
Argyrios Kyrtzidis
2ec76747f4
[libclang] Fix cursor visitation to not ignore template arguments in out-of-line member functions.
...
rdar://13535645
llvm-svn: 178911
2013-04-05 21:04:10 +00:00
Argyrios Kyrtzidis
0e95fcacdf
[libclang] Add some checks to make sure the given CXTranslationUnit is not null, before using it.
...
llvm-svn: 178800
2013-04-04 22:40:59 +00:00
Argyrios Kyrtzidis
b2792972a2
[libclang] Make clang_Cursor_getArgument work with call-exprs.
...
Patch by Matthias Kleine!
llvm-svn: 178475
2013-04-01 17:38:59 +00:00
Argyrios Kyrtzidis
828f4d4b9f
[libclang] If libclang logging is enabled, print all compiler diagnostics to stderr instead of capturing them.
...
llvm-svn: 178373
2013-03-29 21:51:44 +00:00
Argyrios Kyrtzidis
41686481f4
[cmake] Add clang-headers as a dependency of libclang and if we have to copy them
...
for the IDE case, also create a symlink inside the libclang.dylib directory.
llvm-svn: 178372
2013-03-29 21:51:40 +00:00
Chad Rosier
05c71aa745
Update the error handing static functions for r178161.
...
Part of rdar://13296693
llvm-svn: 178162
2013-03-27 18:28:23 +00:00
Argyrios Kyrtzidis
b6210dff97
[Preprocessor/Modules] Separate the macro directives kinds into their own 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
2013-03-26 17:17:01 +00:00
Alexey Bataev
a769e07232
OpenMP threadprivate directive parsing and semantic analysis
...
llvm-svn: 177705
2013-03-22 06:34:35 +00:00
Argyrios Kyrtzidis
014349cc8c
[libclang] Modify clang_getCursorType to be able to handle a function template decl.
...
llvm-svn: 177359
2013-03-18 23:54:50 +00:00
Argyrios Kyrtzidis
3c5305c15e
[Modules] Resolve top-headers of modules lazily.
...
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
2013-03-13 21:13:43 +00:00
Argyrios Kyrtzidis
51c3318b01
[libclang] Change clang_findReferencesInFile and clang_findIncludesInFile to return an enum,
...
as suggested by Jordan.
llvm-svn: 176732
2013-03-08 22:47:41 +00:00
Argyrios Kyrtzidis
951f61fae2
[libclang] Modify clang_findReferencesInFile and clang_findIncludesInFile to 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
2013-03-08 20:42:33 +00:00
Argyrios Kyrtzidis
503c83ad81
[libclang] Introduce clang_findIncludesInFile, that can be used to retrieve 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
2013-03-08 02:32:34 +00:00
Argyrios Kyrtzidis
733136952e
[libclang] When calling the function of CXCursorAndRangeVisitor, don't forget to
...
stop visitation if it returns CXVisit_Break.
llvm-svn: 176681
2013-03-08 02:32:29 +00:00
Argyrios Kyrtzidis
ba4b5f8646
[libclang] Add Logger::operator<< overloads for CXCursor and FileEntry.
...
llvm-svn: 176680
2013-03-08 02:32:26 +00:00
Argyrios Kyrtzidis
37f2ab4824
[libclang] When logging a CXTranslationUnit that came from an AST file, print out the filename.
...
llvm-svn: 176511
2013-03-05 20:21:14 +00:00
Stefanus Du Toit
b331850194
Fix typos: [Dd]iagnosic -> [Dd]iagnostic
...
These all appear in comments or (ironically) diagnostics output.
llvm-svn: 176383
2013-03-01 21:41:22 +00:00
Fariborz Jahanian
828b8d2415
doxygen command. Add 'attention' command to list of similar
...
doxygen commands. // rdar://12379053
llvm-svn: 176127
2013-02-26 22:12:16 +00:00
Argyrios Kyrtzidis
fead64be9b
[preprocessor] Use MacroDirective in the preprocessor callbacks to make available the
...
full information about the macro (e.g if it was imported and where).
llvm-svn: 175978
2013-02-24 00:05:14 +00:00
Peter Collingbourne
47f9f2d1e6
Revert r175912, "Add support for coldcc to clang" at John's request.
...
llvm-svn: 175936
2013-02-23 00:06:18 +00:00
Peter Collingbourne
f32b3f2c55
Add support for coldcc to clang
...
llvm-svn: 175912
2013-02-22 19:24:35 +00:00
David Blaikie
f005d3c1a2
Suppress -Wswitch to unbreak the build.
...
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
2013-02-22 17:44:58 +00:00
Michael Han
84324357b8
[Sema] Semantic analysis for empty-declaration and attribute-declaration.
...
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
2013-02-22 17:15:32 +00:00
Benjamin Kramer
9170e914fc
Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList.
...
llvm-svn: 175894
2013-02-22 15:46:01 +00:00
NAKAMURA Takumi
c2b5d1f9b9
CIndex.cpp: Appease g++-4.4. "if (Optional<unsigned> Minor = In.getMinor())" did not work as expected.
...
llvm-svn: 175711
2013-02-21 02:32:34 +00:00
David Blaikie
7a30dc53c5
Use None rather than Optional<T>() where possible.
...
llvm-svn: 175705
2013-02-21 01:47:18 +00:00
Ted Kremenek
0332558894
Strip 'llvm' from 'llvm::Optional' uses.
...
llvm-svn: 175701
2013-02-21 01:29:01 +00:00