Daniel Jasper
dd77743af8
Small improvements to clang-format documentation and integration
...
scripts.
llvm-svn: 179676
2013-04-17 07:55:02 +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
Daniel Jasper
31f916ac51
Fix clang-format-diff.py script.
...
llvm-svn: 179377
2013-04-12 13:42:36 +00:00
Daniel Jasper
92a3130509
Provide better emacs integration.
...
The new emacs integration is simpler, does not save the current file
before reformatting and ensures that emacs does not scroll as a result
of formatting.
Also explicitly set the style in clang-format tests to make them more
robust.
llvm-svn: 179372
2013-04-12 10:12:01 +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
bcc8a5a70a
[c-index-test] Enable 'display diagnostics' when using the -test-load functionality.
...
llvm-svn: 179123
2013-04-09 20:29:24 +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
Daniel Jasper
e4549a2391
Improvements to clang-format integrations.
...
This adds an emacs editor integration (thanks to Ami Fischman). Also
pulls out the style into a variable for the vi integration and just
uses clang-formats defaults style in clang-format-diff.py.
llvm-svn: 179098
2013-04-09 15:23:04 +00:00
Daniel Jasper
4b14f4f9e6
Remove outdated part of help message.
...
The styles are now documented with the -style option. This fixes
llvm.org/PR15689.
llvm-svn: 179017
2013-04-08 10:50:02 +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
Rafael Espindola
5515ff804f
cmake: mark clang as needing exported symbol.
...
This is a nop right now, but committing this first avoids a temporary breakage
when the llvm files change to not default to exporting symbols.
llvm-svn: 178723
2013-04-04 00:58:40 +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
Chad Rosier
ab003df656
Remove a FIXME that's not planned to be fixed. We only generated crash
...
diagnostics for the first failing command.
llvm-svn: 178086
2013-03-26 23:25:41 +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
Chandler Carruth
456ab006a4
Manually specify the link dependencies. Turns out that all the work on
...
LLVMBuild stuff didn't actually provide a single place for dependencies,
it just added a third place.
llvm-svn: 177989
2013-03-26 03:45:48 +00:00
Chandler Carruth
b45836a231
The IRReader header is now part of its own library. Update the include
...
line and the library dependencies to reflect this.
llvm-svn: 177972
2013-03-26 02:25:54 +00:00
Daniel Jasper
be0d173099
Add clang-format to the corresponding Makefile.
...
llvm-svn: 177727
2013-03-22 11:43:51 +00:00
Alexey Bataev
a769e07232
OpenMP threadprivate directive parsing and semantic analysis
...
llvm-svn: 177705
2013-03-22 06:34:35 +00:00
Jordan Rose
83662f75ad
[analyzer] scan-build: emit errors on stderr, and exit(1) instead of exit(0).
...
PR14963
llvm-svn: 177678
2013-03-21 23:14:26 +00:00
Daniel Jasper
9be2c5cf17
Add clang-format binary to cfe.
...
llvm-svn: 177506
2013-03-20 09:53:23 +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
Jordan Rose
529e239aee
[analyzer] Fix scan-build's -stats mode.
...
We were failing to match the output line, which led to us collecting no
stats at all, which led to a divide-by-zero error.
Fixes PR15510.
llvm-svn: 177084
2013-03-14 17:18:30 +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
1b5b1ce4f8
[libclang] Fix a test and a warning on windows.
...
Patch by Guy Benyei!
llvm-svn: 176806
2013-03-11 16:03:17 +00:00
Benjamin Kramer
b23fc91cdc
Driver: do not strip file extensions when printing diagnostics.
...
Before: clang-3: error: no input files
After: clang-3.3: error: no input files
This means that we'll also print clang.exe on windows, but I don't see a problem
with that.
llvm-svn: 176788
2013-03-10 13:16:18 +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
Jordan Rose
838b72f6b5
scan-build: explicitly say "No bugs found" if there are no reports.
...
Patch by Martin Storsjo!
llvm-svn: 176472
2013-03-05 02:33:08 +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
Benjamin Kramer
d504096c12
scan-build: Remove debug print.
...
PR15329.
llvm-svn: 175889
2013-02-22 12:07:39 +00:00
Ted Kremenek
2dca31e1ed
[scan-build] Add quotes around clang executable name to handle path withs spaces. Fixes <rdar://problem/13254727>
...
llvm-svn: 175790
2013-02-21 20:28:59 +00:00