ef8225444452a1486bd721f3285301fe84643b00 |
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
ttributes-cuda.cu
ndex-pch-objc.m
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
nputs/CommentXML/valid-function-02.xml
nputs/base_module_needs_vfs.h
nputs/crash-recovery-code-complete-remap.c
nputs/module.map
nputs/module_needs_vfs.h
nputs/vfsoverlay.yaml
nnotate-module.m
ttributes.c
omment-cplus-template-decls.cpp
omment-to-html-xml-conversion.cpp
omplete-macros.c
omplete-macros.h
ndex-module-with-vfs.m
ndex-module.m
oad-classes.cpp
ch-depending-on-deleted-module.c
rint-type.c
rint-type.cpp
rint-type.m
ecursive-cxx-member-calls.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
nputs/Frameworks/DocCommentsA.framework/Headers/DocCommentsA.h
nputs/Frameworks/DocCommentsB.framework/Headers/DocCommentsB.h
nputs/Frameworks/DocCommentsC.framework/Headers/DocCommentsC.h
nputs/crash-recovery-code-complete-remap.c
nputs/retain-comments-from-system-headers-module.map
nputs/usrs-system.h
nnotate-comments-objc.m
nnotate-comments-typedef.m
nnotate-deep-statements.cpp
nnotate-tokens-cxx0x.cpp
nnotate-tokens.cpp
omment-cplus-decls.cpp
omment-cplus-template-decls.cpp
omment-to-html-xml-conversion.cpp
omment-xml-schema.c
omplete-method-decls.m
omplete-property-flags.m
omplete-recovery.m
rash-recovery-code-complete.c
rash-recovery-reparse.c
rash-recovery.c
xx11-lambdas.cpp
ix-its.m
ndex-refs.cpp
ndex-templates.cpp
oad-classes.cpp
oad-decls.c
oad-namespaces.cpp
ocal-symbols.m
ch-depending-on-deleted-module.c
reamble-reparse-cmd-define.c
reamble-reparse-warn-end-of-file.c
reamble-reparse-warn-macro.c
reamble-reparse.c
reamble.c
rint-type-cxx11.cpp
rint-type.cpp
ecursive-cxx-member-calls.cpp
emap-complete.c
emap-cursor-at.c
emap-load.c
eparse-with-remaps/reparse.c
eparse-with-remaps/test.h
eparse-with-remaps/test.h-0
eparse-with-remaps/test.h-1
etain-comments-from-system-headers.c
kipped-ranges.c
srs.cpp
srs.m
|
6c6fd7e9596e7c870e322f4030bdd16235348378 |
15-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Ignore test Inputs globally and remove redundant lit.local.cfg files By adding a default config.excludes pattern we can avoid individual suppressions in subdirectories. This matches LLVM's lit.cfg which also excludes a few other common non-test filenames for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194814 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/lit.local.cfg
|
f6785e3117c0ce447e4d70065e069a9dc031f14c |
12-Nov-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Documentation parsing: add support for \throws \throw \exception commands git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194521 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-function-07.xml
omment-to-html-xml-conversion.cpp
|
c31fbe34c9cc9d7fcf4e5d6d79e27835cdefc716 |
09-Nov-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: recognize \def (but processing is a no-op, like the rest of similar commands that duplicate the declaration name) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194312 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
9a8a5fc5990ee8b06ad30e1c7b55b9dcf36ed140 |
08-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Improve the missing ASM parser test for MS-style assembly It's better to test clang-check rather than the internal c-index-test utility. Also adds a target so we can remove the XFAILs. Thanks to Richard Barton for spotting the test failure on ARM. Test originally from r193685. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194249 91177308-0d34-0410-b5e6-96231b3b80d8
s-asm-no-target.cpp
|
f33ed47ea453172e491286b4dd6983ff0c4e1d71 |
07-Nov-2013 |
Richard Barton <richard.barton@arm.com> |
XFAIL the test for non-x86 targets for which this message cannot be generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194211 91177308-0d34-0410-b5e6-96231b3b80d8
s-asm-no-target.cpp
|
e58a58d7dde40eef96faf92ce921b2cc5427a1cb |
30-Oct-2013 |
Alp Toker <alp@nuanti.com> |
Fix triple / REQUIRES in test from r193685 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193686 91177308-0d34-0410-b5e6-96231b3b80d8
s-asm-no-target.cpp
|
259731591edb358ada4d974544faf09b4a5a1249 |
30-Oct-2013 |
Alp Toker <alp@nuanti.com> |
Recover instead of crashing on MS assembly when no target is loaded It's possible to embed the frontend in applications that haven't initialized backend targets so we need to handle this condition gracefully. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193685 91177308-0d34-0410-b5e6-96231b3b80d8
s-asm-no-target.cpp
|
5794b53ad5b38b53c9eaf3a172354e63081ceb2f |
28-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Allow a new syntax in a module requires-declaration: requires ! feature The purpose of this is to allow (for instance) the module map for /usr/include to exclude <tgmath.h> and <complex.h> when building in C++ (these headers are instead provided by the C++ standard library in this case, and the glibc C <tgmath.h> header would otherwise try to include <complex.h>, resulting in a module cycle). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193549 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
2bf1c0127382709a935ce87646c0662def3a0707 |
15-Oct-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When querying for the availability of an enumerator, pick up the availability from the enum declaration. rdar://14789001. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192718 91177308-0d34-0410-b5e6-96231b3b80d8
vailability.c
|
659837e0ce0f73c7fdd5941854be3500db2f4013 |
11-Oct-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Type_getCXXRefQualifier whichexposes ref-qualifier information of function type. Patch by Che-Liang Chiou! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192493 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type-cxx11.cpp
|
b73479e9b23403987c9b358ed7cd42afa17f9fa4 |
07-Oct-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add some tests by Loïc Jaquemet that I forgot to add earlier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192108 91177308-0d34-0410-b5e6-96231b3b80d8
ttributes.c
|
367e8fe3ef5bcf5e3c9855364560b89f7a1e9145 |
03-Oct-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Type_getClassType which returns the class type of a member pointer type. Patch by Che-Liang Chiou! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191906 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.cpp
|
14f9889b9b88f73a891688d7732bf01a127d9e7c |
27-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties. We want the modern behavior most of the time, so inverting the option simplifies the driver and the tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191551 91177308-0d34-0410-b5e6-96231b3b80d8
omment-unqualified-objc-pointer.m
|
513371129c834c143a50c3ca09bb581b7f0f6344 |
25-Sep-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Provide location for attributes and expose 'packed' attribute. Patch by Loïc Jaquemet! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191345 91177308-0d34-0410-b5e6-96231b3b80d8
sm-attribute.c
-index-api-loadTU-test.m
|
a41c97a5d1912ffd184381d269fd8e5a25ee5e59 |
20-Sep-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Switch the semantic DeclContext for a block-scope declaration of a function or variable from being the function to being the enclosing namespace scope (in C++) or the TU (in C). This allows us to fix a selection of related issues where we would build incorrect redeclaration chains for such declarations, and fail to notice type mismatches. Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern, which is only found when searching scopes, and not found when searching DeclContexts. Such a declaration is only made visible in its DeclContext if there are no non-LocalExtern declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191064 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
7a97f7bc619752d09998a9c31c7574b51f04ba1e |
16-Sep-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Don't report a DecayedType as "unexposed", report it as the original (as written) type. Patch by Anders Waldenborg! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190796 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
|
09098596c92e4d1c1d172988e48144d49a9705a0 |
13-Sep-2013 |
Amaury de la Vieuville <amaury.dlv@gmail.com> |
Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests Patch by Artyom Skrobov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190681 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
omplete-pch.m
|
e825cf3ff84c3d47c73ddd39fb66617567093981 |
12-Sep-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix the end-location of a CXXTemporaryObjectExpr when it is created with a initializer_list. rdar://14887351 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190561 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
|
2b429358a9849e2e48520a03065fa385a02dc115 |
23-Aug-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: fix a bug where a line with whitespace between two paragraphs would cause us to concatenate these paragraphs into a single one. The no-op whitespace churn in test/Index test happened because these tests don't use the correct approach for testing and are more strict than required for they are testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189126 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
verriding-method-comments.mm
|
c3a064d4fb41fb912db3fbaad7196951c119a466 |
19-Aug-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing tests: move tests where they belong Move C++-specific tests that were checking if we attach a base class comment to a derived class to an existing test comment-to-html-xml-conversion.cpp. Note that the original testing approach was not actually testing the class--comment relationship. It only checked that we attached the comment *somewhere*. The rest of subclass-comment.mm should be also moved elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188658 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
ubclass-comment.mm
|
6533aa2b43ca1f0e40cf85b453209a012236480a |
19-Aug-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing tests: move tests where they belong comment-misc-tags.m is mostly about miscellaneous Doxygen tags. Move out tests that check if the comment is attached to an ObjC decl. Because the exitsting test for this is in C++ (annotate-comments.cpp), create a new test -- annotate-comments-objc.m. The rest of comment-misc-tags.m should be also moved elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188657 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-objc.m
omment-misc-tags.m
|
931a4feb64f18190d189c222d61b2abf52f18ab8 |
12-Aug-2013 |
Tim Northover <tnorthover@apple.com> |
Fix FileCheck --check-prefix lines. Various tests had sprung up over the years which had --check-prefix=ABC on the RUN line, but "CHECK-ABC:" later on. This happened to work before, but was strictly incorrect. FileCheck is getting stricter soon though. Patch by Ron Ofir. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188174 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
nnotate-comments-unterminated.c
nnotate-toplevel-in-objccontainer.m
omment-xml-schema.c
omplete-documentation-properties.m
omplete-documentation-templates.cpp
omplete-documentation.cpp
omplete-preamble.cpp
omplete-qualified.cpp
etain-comments-from-system-headers.c
|
51e75aecf4fb303b91c9e54fd88e3509e5acc7a6 |
07-Aug-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Fix a PCH serialization crash, with invalid code related to forward enum references. The problem was that an enum without closing semicolon could be associated as a forward enum in an erroneous declaration, leading to the identifier being associated with the enum decl but without a declaration actually referencing it. This resulted in not having it serialized before serializing the identifier that is associated with. Also prevent the ASTUnit from querying the serialized DeclID for an invalid top-level decl; it may not have been serialized. rdar://14539667 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187914 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/preamble-with-error.h
ch-with-errors.m
reamble.c
|
15c8e56e44a5fb6d298ae5bad791f9ea5bb883f6 |
07-Aug-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to fix doxygen trailing comments for ObjectiveC methods. // rdar://14258334 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187893 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
8c238be45e2ae6fa00fb5a2bc27a46d3c16d47ee |
07-Aug-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to fix doxygen trailing comments for ObjectiveC properties. // rdar://14258334 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187835 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
dc663264c56e587ce9210a7c3b049645e92526b9 |
26-Jul-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Remove comma from the blacklist of characters that prevent a comment to be attached to a decl. It's common to use an availability function macro at the start of a decl. rdar://13965065 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187230 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
5b429be838660012cec636f98ffdeb1a94cfde98 |
25-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move not past env. This only makes a difference with broken versions of env (like the one in gnutools32) that always return 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187123 91177308-0d34-0410-b5e6-96231b3b80d8
rror-on-deserialized.c
|
ceaa1ecfa3a8c2cd851bda94b135318e83ba560a |
25-Jul-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Documentation parsing: if typedef name is being declared via a macro, try using declaration's starting location. This is improvement over not having a valid location and dropping comment altogether. // rdar://14348912 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187085 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
4c4f6fe2a6d6b3ffd0ce114cb8099366662b67f7 |
23-Jul-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Expose the rest of the array types. Patch by Che-Liang Chiou! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186967 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type-size.cpp
rint-type.cpp
|
f0c06a3fa424a7bf858d95f6e83c392dbb31ea43 |
18-Jul-2013 |
Manuel Klimek <klimek@google.com> |
Fix crash in libclang if code completion is used with unknown flags. Use CaptureDroppedDiagnostics to make sure that there is a diagnostic client installed when warning flags are parsed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186582 91177308-0d34-0410-b5e6-96231b3b80d8
-index-unsupported-warning-test.c
|
4eaa81b1494b34f0b6e0e65814f8e436063f4391 |
08-Jul-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/comment-custom-block-command.cpp: This has not been failing since r175892 on valgrind. That said, it fails with --vg-leak. Mark it as XFAIL: vg_leak instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185809 91177308-0d34-0410-b5e6-96231b3b80d8
omment-custom-block-command.cpp
|
514afc7255a2aaa88498b3374c944a2c497c1c55 |
05-Jul-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_isObjCOptional, which returns whether the declaration was affected by "@optional" rdar://14348525. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185722 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
96e7813f08c6adf1d8657b0da86741b54e850fd7 |
04-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add 'not' to commands that are expected to fail. This is at least good documentation, but also opens the possibility of using pipefail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185652 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-unterminated.c
omment-xml-schema.c
reate-tu-fail.c
rror-on-deserialized.c
ch-with-errors.c
ecover-bad-code-rdar_7487294.c
|
12df246d6dea2ee1f92c186f922f1afcf499647a |
24-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[AST] Introduce a new DecayedType sugar node The goal of this sugar node is to be able to look at an arbitrary FunctionType and tell if any of the parameters were decayed from an array or function type. Ultimately this is necessary to implement Microsoft's C++ name mangling scheme, which mangles decayed arrays differently from normal pointers. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D1014 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184763 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
|
1a554f72f2cf3615e5625e0922afc6b2a02a8a94 |
24-Jun-2013 |
Matt Beaumont-Gay <matthewbg@google.com> |
Add some invalid-decl checks to clang_Type_getOffsetOf. print-size-type.cpp was checking for specific record layout output for invalid decls; I've removed the checks but left the records as tests for not crashing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184751 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type-size.cpp
|
c5b0054693b3b3cafe6a13549358c22e07fcd4ff |
24-Jun-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: allow "\param ..." to describe variadic arguments Original patch by Fariborz Jahanian; extended by me. Fixes rdar://14124644 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184688 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/invalid-function-13.xml
nputs/CommentXML/valid-function-07.xml
omment-to-html-xml-conversion.cpp
omment-xml-schema.c
|
97e5bc2643dd1478ca10d1b9a6581f332801c958 |
23-Jun-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: followup to r184610: allow multiple \returns Remove unneeded member in CommentSema, add a test for the XML schema (the schema already allowed multiple paragraphs in <ResultDiscussion>, but there were no tests for that), fix HTML generation (it is not allowed to have <p> inside <dl>). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184652 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-function-07.xml
omment-to-html-xml-conversion.cpp
|
d52b20c706326cc2c5c3707a902e7ca4474719b6 |
22-Jun-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[document parsing]: Allow multiple adjacent \return and the like commands. Render them properly in XML output. // rdar://14207725 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184610 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
8bb86697791077f8127f991a0eeaeefcb902b10b |
20-Jun-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure crash-recovery for module-building does not interfere with libclang crash-recovery. This tests llvm commit r184380. rdar://14204560 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184383 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-modules.m
|
1f01f7c160c06f8290b4f1c203e36b242074c6b1 |
11-Jun-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Allow building a precompiled preamble with compiler errors A while ago we allowed libclang to build a PCH that had compiler errors; this was to retain the performance afforded by a PCH even if the user's code is in an intermediate state. Extend this for the precompiled preamble as well. rdar://14109828 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183717 91177308-0d34-0410-b5e6-96231b3b80d8
reamble-reparse-with-BOM.m
|
c910d4cfa5042f2c9da1eb4e0b6ed59240c0eeee |
08-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
Revert "[Sema] Make FunctionType's TSI use unadjusted argument types" This reverts commit r183614. It broke test/Sema/block-printf-attribute-1.c on non-Windows platforms, and the fix is not trivial. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183616 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
rint-type.cpp
|
63c9a92a805394c1ca9e4a5fd8afb3acbb918d03 |
08-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[Sema] Make FunctionType's TSI use unadjusted argument types This helps preserve the type-as-written in the AST, which we need for MSVC mangling. In particular, we need to preserve the types of array parameters in function pointer types. The essence of this change is: - QualType ArgTy = Param->getType(); + QualType ArgTy = Param->getTypeSourceInfo()->getType(); ... followed by the adjustment in ActOnFunctionDeclarator(). Differential Revision: http://llvm-reviews.chandlerc.com/D883 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183614 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
rint-type.cpp
|
d62d9015c76d4e7dee1fddd9603b92098b355e15 |
05-Jun-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When the template specialization header is missing, set a valid source location for the template keyword when recovering. Otherwise ClassTemplateSpecializationDecl::getSourceRange() will mistakenly consider itself as an implicit partial specialization and lead to a crash. Fixes rdar://14063074 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183325 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-file.cpp
|
25cd4a284307ea5431f646087dee2e93dd4b3d7a |
04-Jun-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When annotating tokens, don't override a property annotation with a getter/setter method annotation. rdar://13764549 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183242 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
85b03eb9fe91e94f03ed68a63d6edfab19f9fc9d |
31-May-2013 |
Daniel Jasper <djasper@google.com> |
Fix test error caused by r183008. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183010 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
1bc085aec3901e22b819bb6761d5ccc360194604 |
30-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When indexing a @synthesize, don't consider that it defines a getter/setter if one is already defined by the user. Fixes rdar://13925258 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182895 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
fe038a32903c935e1bd9f2b62190c2c75a6754fe |
29-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For "@import .." code-completion results, associate a CXCursor_ModuleImportDecl cursor instead of CXCursor_NotImplemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182871 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-modules.m
|
c965f76e02d536d875b1e9e3ea96f39452c6bfa2 |
17-May-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: add a function to check whether a member function is pure virtual Patch by Seth Fowler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182139 91177308-0d34-0410-b5e6-96231b3b80d8
verrides.cpp
|
92b522db4e3d79e2fab5fd4ce1574afef201ae58 |
15-May-2013 |
Daniel Jasper <djasper@google.com> |
Fix test breakage caused by change in clang-format. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181888 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
7eca8d2262a26eedb2ff3cc0fd11be2494b17cc1 |
10-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When parsing with CXTranslationUnit_ForSerialization, make sure to install the ASTWriter that we create as an ASTMutationListener. Fixes rdar://13833268 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181575 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-module.m
|
b18840ddd6aa472bbf78ab9de59159eb128fb6a9 |
07-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Have SourceManager::getLocForEndOfFile() point at the "EOF" location of the FileID. This fixes a crash due to SourceManager::getLocForEndOfFile() returning an off-by-one location when the the FileID is for an empty file. rdar://13803893 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181285 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/empty.h
ile-includes.c
|
1270673bf5208a140b397419c8c34e7bdcce2339 |
06-May-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Have the RecursiveASTVisitor traverse the type source info of an objc class message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181237 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.m
|
4857fdcdcb61f314a53ea45be3cbfaf60bb9255b |
02-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[document parsing]: support c++11 type aliases with no comment of their own to inherit the comment of their aliased type. // rdar://13752382 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180924 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus11-specific.cpp
|
a3ae52b63aff9d4478084e40b1f683f45eb06ab7 |
01-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[documenting declaration]: Remove arc liftime qualifiers when doccumenting declrations in comments. // rdar://13757500 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180880 91177308-0d34-0410-b5e6-96231b3b80d8
omment-unqualified-objc-pointer.m
|
f1d6d1460449da0fc8f4db182ffa0ef6a0038b18 |
01-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix buildbot yet again. // rdar://13757500. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180863 91177308-0d34-0410-b5e6-96231b3b80d8
omment-unqualified-objc-pointer.m
|
40a06bc898425b2bba37dfd3e83a054cd3278d3d |
01-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
attempt to fix the buildbot failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180861 91177308-0d34-0410-b5e6-96231b3b80d8
omment-unqualified-objc-pointer.m
|
db1519a95687622d08340f9b7522ef84a53b331a |
01-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[ObjC declaration documentation] declaration of types involving Objective-C pointers must have their arc qualifiers elided as they don't add any additional info. // rdar://13757500. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180860 91177308-0d34-0410-b5e6-96231b3b80d8
omment-unqualified-objc-pointer.m
|
91efca0fa2ef5e63b48692e3439f5c6e6bde350c |
27-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
documenttion parsing. Provide a c-index test and limit comment extraction to public c++ bases. // rdar://13647476 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180646 91177308-0d34-0410-b5e6-96231b3b80d8
ubclass-comment.mm
|
e858e667c14ce4a9df5a4bbae770a0a3a3c8723e |
27-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Module_getASTFile function that returns the module file where a module object came from. rdar://13743084 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180643 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-module.m
|
65110caf70bc6c07c3bc223acf03643af47a6643 |
26-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH/modules] Require the preprocessing record option to match the used PCH, if modules are enabled. The preprocessing record becomes important when modules are enabled, since it is used to calculate the module cache hash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180635 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-annotation.c
|
002f9281e010202b87cc120195b67df06ef3e17f |
26-Apr-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: -fparse-all-comments: recognize empty line comments In -fparse-all-comments mode empty '//' comments were recognized as RCK_Invalid, and were not merged with next and previous lines. Patch by Amin Shali. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180625 91177308-0d34-0410-b5e6-96231b3b80d8
arse-all-comments.c
|
edab047e10d745a65d12c8cb36be2ba9e96c9e0e |
23-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a CXCursor_ObjCSelfExpr cursor, which is the equivalent of CXCursor_CXXThisExpr for C++ code. rdar://13717006 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180127 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
2fb5d1297e874d8f6d86a3586c7d25dcfb104f69 |
23-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When modifying an implicit instantiation with information from an explicit one, make sure to reset the "right brace" location. Otherwise the source range of the explicit instantiation may become invalid (begin location will be after the end location). rdar://13706991 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180070 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
355dae6f1b819c42e2b416ea154b03b0aeaf58a3 |
20-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure the preable does not truncate comments. rdar://13647445 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179907 91177308-0d34-0410-b5e6-96231b3b80d8
omment-with-preamble.c
|
80e1acaeb7040548cb494e609b120b134e22a193 |
19-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_isVariadic, which returns non-zero if the given cursor is a variadic function or method. rdar://13667150 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179819 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.m
|
38dbad233bfc7906e38e028707ffe5925b9ca46c |
19-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179816 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.m
|
9ee6a66d19aacc35397bbdc4fd535e3944301856 |
19-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the written attributes in a property declaration. rdar://13684512 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179803 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
rint-type.m
roperties-class-extensions.m
|
4d6bc1884447a7e5b3c2def09bd307c96e44241e |
18-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Adds a new doxygen tag needed. // rdar://12379053 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179770 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
7717914639ed8a186fe8b781c9c220594e8dcf30 |
18-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Report parameter array types as written in source, not decayed to pointer types. Patch by Doug. rdar://13684618 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179769 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
rint-type.cpp
|
673c5d5e22b0af17bb9e903862f39e8a23d9e47f |
17-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Correct the range returned by ParmVarDecl::getSourceRange(), for parameters in ObjC methods with postfix types. For a parameter in a method like this: -(int)methodWithFn:(void (*)(int *p))fn; we would return the source range of the type and not include the parameter name. Fixes rdar://13668626. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179660 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
04b6748ee90649069ee79464317ae6cd6aca317d |
11-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Have clang_getCXXAccessSpecifier() also return the access control of a C++ declaration within its parent scope. Suggested by Stefan Seefeld. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179297 91177308-0d34-0410-b5e6-96231b3b80d8
oad-classes.cpp
|
411d33aa0b0d3bc9b2faec40cd821bdd836094ab |
11-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179251 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type-size.cpp
|
75dbdfa6f80bf6b35d858b6557e9fbb2854e2ba0 |
11-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
comment parsing. Add couple more needed doxygen tags. // rdar://12379053 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179238 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
0e7f2bb1810a4e5e62a8e247460cd26f981d0827 |
10-Apr-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
-fparse-all-comments: remove redundant check, as suggested by Fariborz Jahanian git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179204 91177308-0d34-0410-b5e6-96231b3b80d8
arse-all-comments.c
|
c95468f1a79cdc8b92c40a48322f8972c4814ea9 |
10-Apr-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add testcases for -fparse-all-comments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179181 91177308-0d34-0410-b5e6-96231b3b80d8
arse-all-comments.c
|
a1637aa8c8ae21ba189823bd803e8d2f4b61621c |
09-Apr-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/annotate-tokens.cpp: Appease msvc-targets with -fno-delayed-template-parsing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179065 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
cac9ee0b129b8d8d4088ecf5068202886850aa2c |
08-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
doce parsing: adding few more headerdoc tags. // rdar://12379114 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179039 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
516143b619d1eccfef023ceaf91666803f04cc83 |
05-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix cursor visitation to not ignore template arguments in out-of-line member functions. rdar://13535645 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178911 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
et-cursor.cpp
|
5238e40f6ea6346b6bc1505e4975c2c4ab7fde09 |
05-Apr-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
doce parsing: adding few more headerdoc tags. // rdar://12379114 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178903 91177308-0d34-0410-b5e6-96231b3b80d8
omment-misc-tags.m
|
e9ebd852ec1effa393bcc4aad73d9c657a5279c1 |
01-Apr-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_Cursor_getArgument work with call-exprs. Patch by Matthias Kleine! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178475 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
|
b6cac0bf486e44f53f1ae397c2615947a203373f |
29-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add test case for r178374. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178378 91177308-0d34-0410-b5e6-96231b3b80d8
odules-objc-categories.m
|
ab2d09b6287a5dc6fa94d78739444f46f9a78bfb |
28-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Parser] Don't code-complete twice. When we are consuming the current token just to enter a new token stream, we push the current token in the back of the stream so that we get it again. Unfortunately this had the effect where if the current token is a code-completion one, we would code-complete once during consuming it and another time after the stream ended. Fix this by making sure that, in this case, ConsumeAnyToken() will consume a code-completion token without invoking code-completion. rdar://12842503 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178199 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.m
|
c528aa2e23900924fadb1643f5ec2bcbbe33d382 |
27-Mar-2013 |
Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
Mark comment-to-html-xml-conversion test as XFAIL:msan, in addition to valgrind. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178138 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
231b2bc2a0ca854174ac0095b3e2fad6a50d5844 |
26-Mar-2013 |
Alexey Samsonov <samsonov@google.com> |
Actually mark ASan-unfriendly test as XFAIL git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177997 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-deep-statements.cpp
|
4d553c96ada2b39773ec6fbb6a1d99db829b2c05 |
26-Mar-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/crash-recovery-code-complete.c: Mark it as XFAIL:win32 for now. I know MemoryBuffer might affect this. Still investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177946 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
|
168613735dce8103ef78390ac28786b5a278f439 |
23-Mar-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
documentation parsing: when providing code completion comment for a getter used in property-dot syntax, if geter has its own comment use it. // rdar://12791315 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177797 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation-properties.m
|
c02ddb23c0a27ff95859b3eacab134613b0b1d1d |
22-Mar-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
documentation parsing. Provide code completion comment for self.GetterName where GetterName is the getter method for a property with name different from the property name (declared via a property getter attribute) // rdar://12791315 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177744 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation-properties.m
|
07c5908fa10c84144907bc699751dc16d4dcb1f8 |
19-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Modify clang_getCursorType to be able to handle a function template decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177359 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.cpp
|
5256c1fd315104f7b1542bb231f16dbad8a8d64b |
11-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix a test and a warning on windows. Patch by Guy Benyei! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176806 91177308-0d34-0410-b5e6-96231b3b80d8
ile-includes.c
|
ee2d5fd7a3bd42bce387db094d27a479617c3e67 |
08-Mar-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176682 91177308-0d34-0410-b5e6-96231b3b80d8
ile-includes.c
|
0689863f7b7fddf4a96e3036f3abe1d6f695ae51 |
08-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
Add code completion for @import <rdar://problem/13344306>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176666 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-modules.m
|
809d1f1f808ca2eba3f7c9631f673554d31e7f31 |
28-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Add comment to my last test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176272 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation-properties.m
|
b98f7af5685458a00d4efd60429378efe88ad10f |
28-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C code completion. Property accessors may not have their own code completion comments. Use those in their properties in this case. // rdar://12791315 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176271 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation-properties.m
|
1ebefc72e80cc880be376a8704e6936d2746cb35 |
27-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When deserializing an IdentifierInfo, call IdentifierInfo::RevertTokenIDToIdentifier() only when it's not already an identifier. Fixes an assertion hit. rdar://13288735 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176148 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-pch.cpp
|
9db0fe97f533513f88e7141f0b2a405ebe86fa67 |
26-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
doxygen command. Add 'attention' command to list of similar doxygen commands. // rdar://12379053 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176127 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-para-kind-01.xml
|
fdf5706440543c744cd9faf55235a757a7278daa |
22-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix assertion hit when code-completing inside a function macro with more arguments than it should accept. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175925 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macro-args.c
|
6ebf09130479bc7605aa09a3e6c4dc2ba3513495 |
22-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: add CommentOptions to allow specifying custom comment block commands Add an ability to specify custom documentation block comment commands via a new class CommentOptions. The intention is that this class will hold future customizations for comment parsing, including defining documentation comments with specific numbers of parameters, etc. CommentOptions instance is a member of LangOptions. CommentOptions is controlled by a new command-line parameter -fcomment-block-commands=Foo,Bar,Baz. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175892 91177308-0d34-0410-b5e6-96231b3b80d8
omment-custom-block-command.cpp
|
1f12c47ae90c03633496d96e79a61762097a4681 |
22-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix a crash with invalid code, while skip function bodies is enabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175860 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-file.cpp
|
ae03d8e52d81adbb98b31dd5c179abe45c91fc25 |
15-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: add clang_getTypeSpelling(CXType CT) Adds a function clang_getTypeSpelling(CXType CT) that returns a CXString containing the underlying type. Patch by Ben Gertzfield. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175299 91177308-0d34-0410-b5e6-96231b3b80d8
rint-type.c
rint-type.cpp
rint-type.m
rint-typekind.c
rint-typekind.m
ector-types.c
|
82064213e9ef308e9a929ecfb31f4698a834ecdd |
13-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix annotation of a range where the begin or end location is inside a macro argument. Previously we would give up and not annotate anything in the range. rdar://11891550 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175062 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
5a56e1bdfbf57787314dd44a27318964eaa2cf39 |
08-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test to make sure annotation works fine in the presence of 'override' on the method. This was fixed in a previous commit, generally handling attributes that are at the end of the declaration. rdar://13140589 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174734 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
|
a86b37e223a21647175619096e67d0f650add351 |
08-Feb-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Attribute visitation happens out-of-source-order, make sure we annotate properly when there is an attribute and not skip type specs if the attribute is after the declaration. rdar://13129077 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174689 91177308-0d34-0410-b5e6-96231b3b80d8
BOutletCollection.m
nnotate-tokens.c
|
1b58c74af272a1d8228b8161c93a8a018456098e |
08-Feb-2013 |
Douglas Gregor <dgregor@apple.com> |
Teach subframework header lookup to suggest modules <rdar://problem/13176200>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174683 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
953a61f26bf79932b9699b09add4c388764de170 |
07-Feb-2013 |
Douglas Gregor <dgregor@apple.com> |
Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174645 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-module.m
omplete-modules.m
rash-recovery-modules.m
ndex-module.m
ndex-pch-with-module.m
ndex-suppress-refs.m
|
af01bed59b2fe18fa483f5dbb86584b31eda6f98 |
01-Feb-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: improve the fidelity of XML output for many block commands 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> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174216 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/invalid-para-kind-01.xml
nputs/CommentXML/invalid-para-kind-02.xml
nputs/CommentXML/valid-para-kind-01.xml
omment-to-html-xml-conversion.cpp
omment-xml-schema.c
|
6307be331ef84cb44aca1066c829e91b61aa6371 |
01-Feb-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/headerfile-comment-to-html.m: Try to unbreak libxml2-less hosts to eliminate "CommentXMLValid". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174124 91177308-0d34-0410-b5e6-96231b3b80d8
eaderfile-comment-to-html.m
|
f843a580c4a54ca147f22422ee8ccfd2347784fc |
01-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[Comment parsing] Add support for recognizing \headerfile command and representing it in an xml document. Patch reviewed by Dmitri Gribenko. // rdar://12397511 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174109 91177308-0d34-0410-b5e6-96231b3b80d8
eaderfile-comment-to-html.m
|
ce76d655d7c99f515bea37611395423026e0e513 |
31-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/skip-parsed-bodies/compile_commands.json: Mark it as XFAIL:mingw32, for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174064 91177308-0d34-0410-b5e6-96231b3b80d8
kip-parsed-bodies/compile_commands.json
|
626799b2903a2ab7f58ed82f10153bad4e0f1b7f |
31-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
When code completing in a statement, parenthesized expression, or Objective-C message receiver, the user is as likely to want to write a type name as any other declaration, so give types the same priority as other declarations. Fixes <rdar://problem/12480600>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174038 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-objc-message.m
omplete-stmt.c
|
d1f09b482b3874be07dfe9dd24bfad98915989c3 |
31-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Allow the computation of the base priority for a declaration code completion result to consider the completion context git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174037 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-lambdas.mm
|
f494e4814010885dbe6abac705244fecae905b40 |
30-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: fold named character references test into other HTML tests git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173934 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
pecial-html-characters.m
|
3862d76fb745dc21665da501c19658fca32e9f25 |
30-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Index/special-html-characters.m: mark this as XFAIL for valgrind Fix is being discussed on cfe-dev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173925 91177308-0d34-0410-b5e6-96231b3b80d8
pecial-html-characters.m
|
31aa57715090f29f9ad67e2e5c1fb528fc633563 |
30-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Add "instancetype" as a code completion result for the return type of an Objective-C method. Fixes <rdar://problem/13069990>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173905 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.m
|
5824b803bb964247d2633ae893af409f915c80b1 |
30-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
The instance methods of the root class of an Objective-C hieararchy can be messaged via the metaclass. Provide code completions for this case. Fixes <rdar://problem/12560296>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173903 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
omplete-super.m
|
658a115c8e0d5bddf607a13d2ce13cd306ef2389 |
30-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
[Doc parsing] Patch to parse Doxygen-supported HTML character references to their UTIF-8 encoding. Reviewed offline by Doug. // rdar://12392215 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173850 91177308-0d34-0410-b5e6-96231b3b80d8
pecial-html-characters.m
|
13e42fb10b225cb3eed7e6e4c6bbe2fff1127407 |
30-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/getcursor-preamble.m: Formatting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173844 91177308-0d34-0410-b5e6-96231b3b80d8
etcursor-preamble.m
|
3832fbb6f6e83d2e1342309efa67ee84c54703db |
30-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/getcursor-preamble.m: Tweak for win32. env(1) is required to change variables locally. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173843 91177308-0d34-0410-b5e6-96231b3b80d8
etcursor-preamble.m
|
3d207e76a1c7ece5deec3d6ee35af04fe7f6212e |
29-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Mark a struct definition in an objc container with the TopLevelDeclInObjCContainer bit. Fixes accurately getting a cursor inside an objc container containing a struct definition, from a PCH/preamble file. rdar://12584613 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173811 91177308-0d34-0410-b5e6-96231b3b80d8
etcursor-preamble.h
etcursor-preamble.m
|
ae8699bde649e2ed1f66414b4283b862f11056dd |
28-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Several small changes in formatting decisions. 1. Use a hanging ident for function calls nested in binary expressions. E.g.: int aaaaa = aaaaaaaaa && aaaaaaaaaa( aaaaaaaaaa); 2. Slightly improve heuristic for builder type expressions and reduce penalty for breaking before "." and "->" in those. 3. Remove mostly obsolete metric of decreasing indent level. This fixes: llvm.org/PR14931. Changes #1 and #2 were necessary to keep tests passing after #3. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173680 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-ftemplate-comments.cpp
|
c37b183e72ea62d654ec9e02d8e8d996a6014d3c |
27-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: fix test in r173626 for -fms-extensions -fms-compatibility git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173633 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
d1e5c0df2acb01192eedda14534fe990e1e26c46 |
27-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: attach any tag type's documentation to its typedef if latter does not have one of its own. // rdar://13067629 Original patch (r173586 and r173587) by Fariborz Jahanian, modified by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173626 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
06b5ea65365c5898be8355868a49c6f396cc8b02 |
27-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r173586 (and r173587) , "Attach any tag type's documentation to its typedef if" It caused unexpected warnings with @tparam. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173614 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
87611cdd0c1a8e5648d63e141f471644c6f7dc64 |
26-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Attach any tag type's documentation to its typedef if latter does not have one of its own. // rdar://13067629 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173586 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
a9cd3d8452a253adf296d327a53e7009a2b01594 |
26-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Hopefuly unbreak buldbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173549 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
b2274d64ecb67f6c8bff2e66361844bebbcc3dab |
26-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/annotate-comments-typedef.m: Remove CommentXMLValid in CHECKs. Don't assume libxml2 here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173534 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
41170b55ba635afb806394d44f2b7f1f6095df37 |
25-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Attach enum's documentation to its typedef if latter does not have one of its own. // rdar://13067629 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173516 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-typedef.m
|
dddcc57fe73c568520250f48d33a1ad856015644 |
25-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/crash-recovery-*.c: Drop 'REQUIRES:shell". "test !" is available on Lit win32 since r173421. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173422 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
rash-recovery-reparse.c
|
614323cc1cd3af406ed697bed7324f76f871419e |
22-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/comment-to-html-xml-conversion.cpp: Mark this as XFAIL:valgrind, for now. Working in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173121 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
2f1ac41a6d8d202dcc39ab8eb56ccea823dc062e |
21-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Fixes formatting of empty blocks. We now only put empty blocks into a single line, if all of: - all tokens of the structural element fit into a single line - we're not in a control flow statement Note that we usually don't put record definitions into a single line, as there's usually at least one more token (the semicolon) after the closing brace. This doesn't hold when we are in a context where there is no semicolon, like "enum E {}". There were some missing tests around joining lines around the corner cases of the allowed number of columns, so this patch adds some. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173055 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
omment-to-html-xml-conversion.cpp
ormat-comment-cdecls.c
|
032f25329565adfc542f001953565091eccba130 |
21-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Fix parsing of templated declarations. Before: template <template <typename T>, typename P > class X; After: template <template <typename T>, typename P> class X; More importantly, the token annotations for the second ">" are now computed correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173047 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
verriding-ftemplate-comments.cpp
|
4918c5315240224ed78f35a9ca9400bd1acf8d89 |
19-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Actually update the test, fixup for r172923 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172925 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
44a3ddbf7d2f46a002b5e85b240359c435509b4e |
19-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: add more tests for html character references git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172923 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
c79afdae8a2e12d1e8f27a2ae0a43dfca3b8283b |
18-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Reduce penalty for splitting between ")" and ".". ').' is likely part of a builder pattern statement. This is based upon a patch developed by Nico Weber. Thank you! Before: int foo() { return llvm::StringSwitch<Reference::Kind>(name).StartsWith( ".eh_frame_hdr", ORDER_EH_FRAMEHDR).StartsWith( ".eh_frame", ORDER_EH_FRAME).StartsWith(".init", ORDER_INIT).StartsWith( ".fini", ORDER_FINI).StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT); } After: int foo() { return llvm::StringSwitch<Reference::Kind>(name) .StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR) .StartsWith(".eh_frame", ORDER_EH_FRAME) .StartsWith(".init", ORDER_INIT).StartsWith(".fini", ORDER_FINI) .StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT); } Probably not ideal, but makes many cases much more readable. The changes to overriding-ftemplate-comments.cpp don't seem better or worse. We should address those soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172804 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-ftemplate-comments.cpp
|
cdbe1e0d85d7d32452dd1c52758d7bfaa1c0663b |
17-Jan-2013 |
Jordan Rose <jordan_rose@apple.com> |
Format strings: don't ever convert %+d to %lu. Presumably, if the printf format has the sign explicitly requested, the user wants to treat the data as signed. This is a fix-up for r172739, and also includes several test changes that didn't make it into that commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172762 91177308-0d34-0410-b5e6-96231b3b80d8
ix-its.c
|
334111d0be8bf3cd186ae9c66c8f2eb194003677 |
17-Jan-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/code-completion-skip-bodies.cpp: Check stdout and stderr individually, rather than mixed output of stdout and stderr with 2>&1. XFAIL(s) are removed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172705 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion-skip-bodies.cpp
|
c328d9c22a4397dd7313d06be5b82d700297b246 |
12-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
comment parsing: when property accessors don't have comment of their own (or are syntheszed), use prperty's comment. for them. // rdar://12791315 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172278 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-property-accessor.m
|
d5688cf3e314819ca196053ac245c19a7c321332 |
11-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Fix single-line optimization for ObjC. Puts blocks always into multiple lines when they start with an ObjC keyword or minus. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172238 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
517e894c56211f57c487bdaba8ead0edc84396fe |
11-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Implements pulling simple blocks into a single line. void f() { return 42; } The final change that implements the feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172225 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
5f500df1b28e6b1c49d4256dda130ecd8696ea2e |
10-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Formatting: In @implementation etc lines, put a space before protocol lists. Don't do this in Google style though: http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml#Protocols Most other places (function declarations, variable declarations) still get this wrong, and since this looks very similiar to template instantiations to the lexer (`id <MyProtocol> a = ...`), it's going to be hard to fix in some places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172099 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
ed91bbaa8c4c92a1c94c9a7a5f4141551718cf6b |
10-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Formatter: Add space before '(' in @implemenation, @interface, @protocol lines The first token in @implementation, @interface, and @protocol lines is now marked TT_ObjCDecl, and lines starting with a TT_ObjCDecl token are now marked LT_ObjCMethodDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172093 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
36fab8d70eee342d66e03c9b09c029f126196103 |
10-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Do not add newline in empty blocks. void f() {} now gets formatted in one line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172067 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
omment-cplus-decls.cpp
omment-cplus-template-decls.cpp
omment-to-html-xml-conversion.cpp
ormat-comment-cdecls.c
|
46ef852618b18bc79e403b37a12c9b692e76126b |
10-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Improvements to function type and ObjC block formatting. Before: int (^myBlock) (int) = ^(int num) {} A<void ()>; int (*b)(int); After: int (^myBlock)(int) = ^(int num) {} A<void()>; int(*b)(int); For function types and function pointer types, this patch only makes the behavior consistent (for types that are keywords and other types). For the latter function pointer type declarations, we'll probably want to add a space after "int". Also added LangOpts.Bool = 1, so we handle "A<bool()>" appropriately Moved the LangOpts-settings to a public place for use by tests and clang-format binary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172065 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
ormat-comment-cdecls.c
|
b530fa374a8d4d96e61bf1dae8f4a73f4b3d2436 |
10-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Formatter: @optional and @required go on their own line. Previously: @protocol myProtocol - (void)mandatoryWithInt:(int)i; @optional - (void) optional; @required - (void) required; @end Now: @protocol myProtocol - (void)mandatoryWithInt:(int)i; @optional - (void)optional; @required - (void)required; @end git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172023 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
50767d8c8f2f667255bdb99692c0467ce992bc67 |
10-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Formatter: Add support for @implementation. Just reuse the @interface code for this. It accepts slightly more than necessary (@implementation cannot have protocol lists), but that's ok. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172019 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
1abe6ea5b8961a0fc14c2e0bdbd7451f643ca065 |
09-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Formatting: Add support for @protocol. Pull pieces of the @interface code into reusable methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172001 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
fa49c18071500d43c86a3c0029aecaea954a64ca |
09-Jan-2013 |
Nico Weber <nicolasweber@gmx.de> |
Fix test after r171995. I wasn't aware libFormat is used elsewhere already. Let me know if rebasing is not the right thing to do here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171996 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
886568dc24eb0a1ccf73bf32d1eafa8fd4008cc6 |
09-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Fix ObjC block declarations. Before: int ( ^ Block1) (int, int) = ^ (int i, int j) After: int (^Block1) (int, int) = ^(int i, int j) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171959 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
ormat-comment-cdecls.c
|
3453bf7da9ac88cd2421b7fdccebf5cd2b8a9d87 |
07-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When annotating preprocessor tokens, if we are in a macro definition, check if the token was ever a macro name and annotate it if that's the case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171776 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
c059f89d888cd214e18ed09a7b47339201526381 |
07-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Simplify annotation of preprocessing tokens and remove the AnnotateTokensData DenseMap and the lookups associated with it. Instead of lexing for preprocessor tokens, associating the annotation with the location in a map, and later lookup in the map in order to adjust the cursor annotation, just annotate the cursor while lexing for preprocessor tokens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171775 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
e9de485169b76acba3a3cb16399fa3d63e43ec2c |
07-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make token annotation of type/storage qualifiers accurate. Previously type/storage qualifiers would not be annotated as the declaration they belonged to. Just use the resulting source range of getRawCursorExtent() which is more correct than what AnnotateTokensWorker::Visit() was adjusting it to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171774 91177308-0d34-0410-b5e6-96231b3b80d8
BOutletCollection.m
nnotate-context-sensitive.cpp
nnotate-nested-name-specifier.cpp
nnotate-tokens.c
nnotate-tokens.m
ecursive-cxx-member-calls.cpp
|
664b06f9bd2ea83443ddc8553feba8ba48880752 |
07-Jan-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When getting the cursor for an identifier inside a macro definition, check if this was ever a macro name and return a specific CXCursor_MacroExpansion cursor in such a case, instead of the generic CXCursor_MacroDefinition. Checking for macro name makes sure the identifier is not part of the identifier list in a function macro. While, in general, resolving identifiers in macro definitions to other macros may not be completely accurate, it greatly improves functionality such as give-me-the-definition-of-this, which was not working at all inside macro definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171773 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
27c2cb24d5e2e9fda68b929c6d03c761196d8e2d |
07-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to XML conversion: no, we don't want to print instantiations for the <Declaration> tag git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171763 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-decls.cpp
omment-to-html-xml-conversion.cpp
|
de7685487c5d628dd9fe64c4f861cd1888f50fc7 |
07-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Fix parsing of variable declarations directly after a class / struct. Previous indent: class A { } a; void f() { }; With this patch: class A { } a; void f() { } ; The patch introduces a production for classes and structs, and parses the rest of the line to the semicolon after the class scope. This allowed us to remove a long-standing wart in the parser that would just much the semicolon after any block. Due to this suboptimal formating some tests were broken. Some unrelated formatting tests broke; those hit a bug in the ast printing, and need to be fixed separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171761 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-decls.cpp
omment-to-html-xml-conversion.cpp
|
d4397b99e2fcb189002d04410d7c3bf85ab4bba3 |
05-Jan-2013 |
Manuel Klimek <klimek@google.com> |
Various fixes to clang-format's macro handling. Some of this is still pretty rough (note the load of FIXMEs), but it is strictly an improvement and fixes various bugs that were related to macro processing but are also imporant in non-macro use cases. Specific fixes: - correctly puts espaced newlines at the end of the line - fixes counting of white space before a token when escaped newlines are present - fixes parsing of "trailing" tokens when eof() is hit - puts macro parsing orthogonal to parsing other structure - general support for parsing of macro definitions Due to the fix to format trailing tokens, this change also includes a bunch of fixes to the c-index tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171556 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
omment-objc-decls.m
omment-to-html-xml-conversion.cpp
ormat-comment-cdecls.c
verriding-ftemplate-comments.cpp
|
9a64fb5690ba2b53c761def068e20ec64c584d96 |
02-Jan-2013 |
Daniel Jasper <djasper@google.com> |
Prefer splitting after "template <...>" and fix indentation. This addresses llvm.org/PR14699 Before: template <typename T> void looooooooooooooooooooooongFunction(int Param1, int Param2); template <typename T> void looooooooooooooooooooongFunction( int Paaaaaaaaaaaaaaaaaaaaram1, int Paaaaaaaaaaaaaaaaaaaaram2); After: template <typename T> void looooooooooooooooooooooongFunction(int Param1, int Param2); template <typename T> void looooooooooooooooooooongFunction(int Paaaaaaaaaaaaaaaaaaaaram1, int Paaaaaaaaaaaaaaaaaaaaram2); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171388 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
fa6efa8a43ca74a40086c094cf3e68031d1f7c5a |
24-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
test/Index/preamble_macro_template.cpp: Tweak for win32. Using the file immediately after "> file 2>&1" causes weird behavior on win32. For example, "foo > %t 2>&1; FileCheck --input-file=%t" Use "foo 2>&1 | tee %t" instead. Note, mixing stdout and stderr to the same handle might cause unexpected behavior, due to buffering. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171009 91177308-0d34-0410-b5e6-96231b3b80d8
reamble_macro_template.cpp
|
bb06b5000b9639a92e92c368ff3e5e5f8bb1e724 |
22-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix crash when code-completing a macro invocation that reached EOF and did not expand the argument into the source context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170980 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macro-args.c
|
ac504561cd888455a48bf85d21ada20a932ebd94 |
22-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Don't try to translate diagnostics from the precompiled preamble to the code-completion results, the SourceManager state may be slightly different when code-completing. And we don't even care for diagnostics when code-completing, anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170979 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-driver-errors.c
|
d4ae6535a667d515afc0af3e67ca287548aba985 |
21-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes couple of friend declaration -ast-print bug found by running -ast-print on all-std-headers.cpp which caused it to go into infinite loop. Now -ast-print prints all declarations found in all-std-headers.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170928 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-decls.cpp
|
9c10d6157164ce3b6af1deef39d661c579e0afc3 |
21-Dec-2012 |
Daniel Jasper <djasper@google.com> |
Temporary fix of tests to make buildbots happy. Permanent solution coming up after checking back with Fariborz/Douglas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170887 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
omment-to-html-xml-conversion.cpp
ormat-comment-cdecls.c
|
f1e5b155088203f88a8172aa61c1d84185966bf0 |
21-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Follow-up to r170824, provide the correct number of arguments for a not-fully-formed macro invocation during code-completion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170833 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macro-args.c
|
cd0fd18909e3b89ed6f2cc1118809003db64e67a |
21-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure we can code-complete inside a macro argument even though the macro invocation is not fully formed. rdar://11290992 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170824 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macro-args.c
|
154120cde4f56ed04261bab302fdbbed1a7f080b |
20-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Add objective-C style formatting to clang format and use it to format xml declaration tags. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170727 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
omment-objc-decls.m
omment-to-html-xml-conversion.cpp
ormat-comment-cdecls.c
verriding-method-comments.mm
|
ca40f30a20d0329900fa3d1e4b3252cece86ccc0 |
19-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH/Modules] In ASTReader::completeVisibleDeclsMap, make sure to visit all modules when getting the decls for a namespace or translation unit. Otherwise the code-completion results will not be complete. rdar://12889089 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170596 91177308-0d34-0410-b5e6-96231b3b80d8
odecompletion-chained.cpp
|
89d852ac445cd7f6a10734c0eb5949ea1eac6ab5 |
19-Dec-2012 |
Ted Kremenek <kremenek@apple.com> |
Change test to dump Filecheck output to an intermediate file. This makes it easier to update this test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170570 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
c83c2300e1946fea78ecd3c2e93d9c2dd2638a2b |
19-Dec-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR13470: Ensure that copy-list-initialization isntantiates as copy-list-initialization (and doesn't add an additional copy step): Fill in the ListInitialization bit when creating a CXXConstructExpr. Use it when instantiating initializers in order to correctly handle instantiation of copy-list-initialization. Teach TreeTransform that function arguments are initializations, and so need this special treatment too. Finally, remove some hacks which were working around SubstInitializer's shortcomings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170489 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
240c6ff9dcae0a19bb0ac0b86f6693de1da6ca21 |
19-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
test/Index/preamble_macro_template.cpp: Suppress this probably due to Lit/win32 issue. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170484 91177308-0d34-0410-b5e6-96231b3b80d8
reamble_macro_template.cpp
|
d9b877765cfbedc7cb1ee4b50aeb576a46d0df4e |
19-Dec-2012 |
Ted Kremenek <kremenek@apple.com> |
Have clang_getSpellingLocation() use the same logic as DiagnosticRenderer for plowing through macros. This fixes a subtle bug reported in <rdar://problem/12584554> where a double-nested macro could lead to an incorrect fixit location with live issues. This fix also uncovers a bunch of subtle bugs in our indexer test cases which are now fixed (mostly around source ranges for attributes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170468 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
ix-its.m
reamble_macro_template.cpp
|
88b9521364735a6c9a7ccd23c5bd19d81a80cdd3 |
19-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
This is the libclang patch providing minimal API to use clang's formatter. Currently, formatter is used to format declaration tags for xml comments. Since formatter is in flux and its change will break several of the clang comment tests, only a single tests is formatted using this facility. Doug has reviewed and approved it for check-in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170467 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
ormat-comment-cdecls.c
verriding-method-comments.mm
|
a7a2f2a96dc9d2e66a5e6ee7ca50cb04931f4c98 |
18-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge storage classes even when contexts don't match. This fixes the storage class of extern decls that are merged with file level statics. The patch also fixes the linkage computation so that they are considered internal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170406 91177308-0d34-0410-b5e6-96231b3b80d8
inkage.c
|
b94b62c3b15967d29f63165e834fa4f12944394c |
12-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure tokens from preprocessor directives are annotated as such, even if the directive is inside a declaration. Fixes rdar://11548788 & http://llvm.org/PR12970 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169949 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
1b257afbae854c6817f26b7d61c4fed8ff7aebad |
11-Dec-2012 |
Douglas Gregor <dgregor@apple.com> |
Use @import rather than @__experimental_modules_import, since the latter is rather a mess to type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169919 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-module.m
omplete-modules.m
rash-recovery-modules.m
ndex-module.m
|
44dfff681fdca5325bc684c46971efad1f3fedfd |
10-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Return true from HeaderSearch::isFileMultipleIncludeGuarded if the file was #import'ed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169761 91177308-0d34-0410-b5e6-96231b3b80d8
kip-parsed-bodies/compile_commands.json
kip-parsed-bodies/imported.h
kip-parsed-bodies/t2.cpp
kip-parsed-bodies/t3.cpp
|
5f5250b140544436eb3c2fbd9f43e14019ef01f2 |
08-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Resolve a cursor that points to a macro name inside a #ifdef/#ifndef directive as a macro expansion. This is more of a "macro reference" than a macro expansion but it's close enough for libclang's purposes. If it causes issues we can revisit and introduce a new kind of cursor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169666 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
e1c2c2023ee160bd3051682faff04c4f9c5e8ebd |
07-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Declarations inside anonymous namespaces have internal linkage so their USR should contain a location. This uniques them from other declarations with the same name but in different translation units. rdar://10546541 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169647 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
de780d44244c93fbce059262ccebc8bae692f9ca |
07-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
test/Index/skip-parsed-bodies/compile_commands.json: Remove XFAIL on cygming. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169566 91177308-0d34-0410-b5e6-96231b3b80d8
kip-parsed-bodies/compile_commands.json
|
2a06447fcd6bda9f1ee4eebbef1db0749d433881 |
07-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test to make sure we skip bodies properly from "#pragma once" headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169558 91177308-0d34-0410-b5e6-96231b3b80d8
kip-parsed-bodies/compile_commands.json
kip-parsed-bodies/pragma_once.h
kip-parsed-bodies/t2.cpp
kip-parsed-bodies/t3.cpp
|
838eb7e8652e451d93494a4e583e4d11809bcb4a |
06-Dec-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a new indexing mode where we skip function bodies that were already parsed in the same "indexing session". An indexing session is defined as using the same CXIndexAction object for multiple clang_indexSourceFile calls. Passing CXIndexOpt_SkipParsedBodiesInSession as an indexing option will enable the mode where we try to skip bodies that were already parsed in another translation unit. If a function's body was skipped, the "flags" field in the CXIdxDeclInfo structure will have "CXIdxDeclFlag_Skipped" bit was set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169539 91177308-0d34-0410-b5e6-96231b3b80d8
kip-parsed-bodies/compile_commands.json
kip-parsed-bodies/lit.local.cfg
kip-parsed-bodies/t.h
kip-parsed-bodies/t1.cpp
kip-parsed-bodies/t2.cpp
kip-parsed-bodies/t3.cpp
|
762661a077ffa73580d556a9dd149830662d972e |
06-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a typo in this test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169519 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-template-decls.cpp
|
5c6ae4bd89dc374e47c570376db804be6c413efe |
06-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
more test of template declarations in a <declaration> XML tag. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169457 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-template-decls.cpp
|
5e0ea1994be5b5b55fb8740548d7c7c151733b96 |
06-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
More C++ testing of declarations embedded in <declaration> tag of Comment XML and fixing DeclPrint of templates along the way - wip. //rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169453 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-template-decls.cpp
|
02a2e5a1dd0ad1b93f66040fc7aae6d69a918daf |
05-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Testing C++ declarations embedded in <declaration> tag of Comment XML. Added DeclPrint support for constructors and fix tests accordingly. This is wip. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169412 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
8920eb7a957f3b0bc4a8213ecdaec9a7fcd139ea |
05-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Testing C++ declarations embedded in <declaration> tag of Comment XML and added support for friend declaration printing. This is wip. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169346 91177308-0d34-0410-b5e6-96231b3b80d8
omment-cplus-decls.cpp
|
3e2fe86dd0dd65bff254e3bbdc0ea8df9282dc35 |
04-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Testing C declarations embedded in <declaration> tag of Comment XML and fixed a missing block literal printout as result of the testing. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169307 91177308-0d34-0410-b5e6-96231b3b80d8
omment-c-decls.c
|
c2ef5ad5f498d327d5cf6c30b1e1bae861d124cd |
04-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
additional test for declaration tag of a class extension. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169289 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
1eb60825f0b858a4568c1a9497cc61b0d90c9b3a |
04-Dec-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang: Add a function to libclang for retrieving the bit width value Patch by Jyun-Yan You. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169276 91177308-0d34-0410-b5e6-96231b3b80d8
rint-bitwidth.c
|
60ef8b72664eda5e42910d38148d44de32ee117e |
04-Dec-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/comment-objc-decls.m: Try to fix r169193, to add x86_64-darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169199 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
482b4fd1aabb880887f3982ae13fbbaadb0c7d8e |
04-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Testing objective-C declarations embedded in <declaration> tag of Comment XML and fixed a missing declaration of ivars private to @implementation as result of the testing. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169193 91177308-0d34-0410-b5e6-96231b3b80d8
omment-objc-decls.m
|
e60729a17c5b5eb725be00ec986bf5675c0680e3 |
16-Nov-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Testcase overriding-ftemplate-comments.cpp: use [[@LINE]] to make it less fragile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168213 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-ftemplate-comments.cpp
|
e8b5db4f2722991c37cc51ae9aa78e212c7e8514 |
15-Nov-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to XML conversion test: correct filename. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168101 91177308-0d34-0410-b5e6-96231b3b80d8
omment-to-html-xml-conversion.cpp
|
61322bc43b016d7dd6b19282adec8fdb27905840 |
15-Nov-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Split annotate-comments.cpp into a fragile (that uses hardcoded line numbers) and a non-fragile (that uses [[@LINE]]) parts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168098 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
omment-to-html-xml-conversion.cpp
|
b164af6ae6f2338cc8e685740960715858bfa134 |
15-Nov-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to XML conversion: convert some tests to use the new [[@LINE]] FileCheck feature. This will hopefully make tests less fragile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168056 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-availability-attrs.cpp
verriding-method-comments.mm
|
6e649737898ffb627c377fd8fa0a437d0a42ae4a |
13-Nov-2012 |
Daniel Dunbar <daniel@zuster.org> |
Revert r167801, "[preprocessor] When #including something that contributes no tokens at all,". This change broke External/Nurbs in LLVM test-suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167858 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/empty.h
p-many-includes.c
|
4d10b40ea8ee489c7b9194aa2b025df4ecd2ab01 |
13-Nov-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[preprocessor] When #including something that contributes no tokens at all, don't recursively continue lexing. This avoids a stack overflow with a sequence of many empty #includes. rdar://11988695 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167801 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/empty.h
p-many-includes.c
|
82e52377bd76ed71e8c09edc5f2f452e388b16ad |
06-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce inferred framework modules into the module map file, allowing a module map to be placed one level above the '.framework' directories to specify that all .frameworks within that directory can be inferred as framework modules. One can also specifically exclude frameworks known not to work. This makes explicit (and more restricted) behavior modules have had "forever", where *any* .framework was assumed to be able to be built as a module. That's not necessarily true, so we white-list directories (with exclusions) when those directories have been audited. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167482 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/Frameworks/module.map
|
e4a990f34904eb572c8d6aa1deef19465214359c |
01-Nov-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_getReceiverType which returns the CXType for the receiver of an ObjC message expression. rdar://12578643 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167201 91177308-0d34-0410-b5e6-96231b3b80d8
ursor-dynamic-call.mm
|
bef17f985c07fe86c5ef280a0f0d9f981815a515 |
01-Nov-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/code-completion-skip-bodies.cpp: Add XFAIL while investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167188 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion-skip-bodies.cpp
|
25893e0930c1241c3fdafc6f1b8661443bb19692 |
31-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Decouple code-completion for the SkipFunctionBodies frontend option and add a test to make sure code-completion skips bodies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167141 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion-skip-bodies.cpp
|
a049bbb3441010880486b82a7d0d284ab9afc4c9 |
26-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[options] Fix mishandling of aliased options that was introduced in r166444. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166801 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-with-working-dir.c
|
1cb7142b66ac1844b91511314cce2b309a9a180d |
25-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Take into account that there may be a BOM at the beginning of the file, when computing the size of the precompiled preamble. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166659 91177308-0d34-0410-b5e6-96231b3b80d8
reamble-reparse-with-BOM.m
|
0872a06d1ee1a3b62ef833f955051418d18006a1 |
20-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When associating file ranges of macro arguments with their macro expansion ranges, make sure to check all the FileID entries that are contained in the spelling range of the expansion for the macro argument. Fixes rdar://12537982 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166359 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor-macro-args.h
et-cursor-macro-args.m
|
71197a31a15f1a9226b496b19142a9d655efc725 |
19-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/annotate-comments.cpp: Relax the expression to be matched to -fms-compatibility. Then XFAIL can be removed. FYI, it can be reproduced with "c-index-test -std=c++11 -fms-compatibility". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166261 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
ae8273a6a56250ec1f674fcaf309f1974229b78b |
19-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/annotate-comments.cpp: Mark this as XFAIL on msvc. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166250 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
7ba2b457f0c684c11a1de18cf8b8479ecb6fb9b3 |
18-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix this test to match recent addition of declaration tag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166190 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
6b2d7c7386c44fed66fda4335daa5332150aa6df |
18-Oct-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Un-XFAIL some tests for comment to XML conversion. This reverts r166151 and fixes the tests for builds without libxml2. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166179 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-availability-attrs.cpp
verriding-ftemplate-comments.cpp
verriding-method-comments.mm
|
8d7a24e94b58676e57fd3f47353cbdbc59917d81 |
18-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Invoke a ppIncludedFile callback when indexing implicit module imports. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166161 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
ff9c9e1d71ec8f994c08d185f5acc01c0a685d0d |
18-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test for annotation of module headers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166160 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-module.m
|
07c90ede8069029b956a2f667282fa0ce1382c4b |
18-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
XFAIL these tests until I can figure out what is going on on other platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166151 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-availability-attrs.cpp
verriding-ftemplate-comments.cpp
verriding-method-comments.mm
|
1bfb00dabf83d8c8b95b7276b4c0ae3fd64832c8 |
17-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
[Doc parsing]: This patch adds <Declaration> tag to XML comment for declarations which pretty-prints declaration. I had to XFAIL one test annotate-comments.cpp. This test is currently unmaintainable as written. Dmitri G., can you see what we can do about this test. We should change this test such that adding a new tag does not wreck havoc to the test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166130 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-availability-attrs.cpp
nnotate-comments.cpp
verriding-ftemplate-comments.cpp
verriding-method-comments.mm
|
88d285cc0fc4ecdbc88d1779dcd2da968aa8b191 |
15-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes location of overriding declaration with no comment of their own. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165972 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-ftemplate-comments.cpp
verriding-method-comments.mm
|
6553c686cb419b22b4c79d05a422fb1e96f6e122 |
15-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
structured document comment: patch to provide comment for overriding function template when comment is comming from overridden declaration. // rdar://12378793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165953 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-ftemplate-comments.cpp
verriding-method-comments.mm
|
be9edce2bf96f75fb80445526ffa423afdbf942b |
12-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/index-module.m: Tweak expressions to fit Win32 paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165794 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
749ace614b6ea1ae11d194a60b18e1e43e1db243 |
12-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
search for overridden methods with comment when overriding method has none of its own. Factor in Doug's comments. // rdar://12378793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165771 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-method-comments.mm
|
80eed72ed850d4d5ce49ad2a2c0971f260d8327f |
12-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/index-module.m: Move XFAIL. It was line-number-sensitive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165762 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
6eefeeea396d728281bb00ba657484f05a15c096 |
12-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/index-module.m: Mark it as XFAIL:win32 for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165761 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
55cbb79391c33fb3ccaf7a299bbf616ad8af5fb7 |
12-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index/index-pch-with-module.m: Tweak expressions for win32 pathsep. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165760 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-pch-with-module.m
|
0ef983e89c989ce27ab35d292893a915c8ee398d |
11-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure the index_data.main_filename field is initialized in c-index-test. index_enteredMainFile is not invoked when indexing a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165735 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
1d20e8285e52c6752b4f61fc637e9f34a4a632a4 |
11-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Remove this test while I investigate why it is crashing on release+asserts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165734 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
|
8003fd613724847bba834ae41aca6f446af1f818 |
11-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add tests for indexing modules and PCHs using modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165732 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-module.m
ndex-pch-with-module.m
|
bf967be66ea8c51b66c61659c23240f762a56dbe |
10-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
[Doc parsing] This patch searches overridden objc/c++ methods looking for documentation on a particular base class inherited by any method that overrides the base class. In case of redeclaration, as when objc method is defined in the implementation, it also looks up for documentation in class/class extension being redeclared. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165643 91177308-0d34-0410-b5e6-96231b3b80d8
verriding-method-comments.mm
|
3644d970095d9c638c658cfd17f8e19fc333aadc |
09-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
If a macro has been #undef'd in a precompiled header, we still need to write out the macro history for that macro. Similarly, we need to cope with reading a macro definition that has been #undef'd. Take advantage of this new ability so that global code-completion results can refer to #undef'd macros, rather than losing them entirely. For multiply defined/#undef'd macros, we will still get the wrong result, but it's better than getting no result. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165502 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
38eb1e161f602ee810dfb8a5a0d8462572f22689 |
09-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When storing the C++ overridden methods, store them once for the canonical method; avoid storing them again for an out-of-line definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165472 91177308-0d34-0410-b5e6-96231b3b80d8
verrides.cpp
|
d69f31ce4c33577396dbdc8f4f149baf0e68b68c |
09-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
In VarDecl::getSourceRange() make sure to check that the source location of the initializer is valid before using it. Fixes rdar://12455002&12449015 where local variables of objc objects in ARC mode were not annotated because of the ImplicitValueInitExpr initializer having invalid source range, resulting in the SourceRange of the VarDecl having invalid end location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165456 91177308-0d34-0410-b5e6-96231b3b80d8
rc-annotate.m
|
7d9c975bf2ea8e607646e23c15da744490e10d5d |
03-Oct-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to XML conversion: escape XML special chars correctly; use correct regex for version tuples. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165104 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-availability-attr-02.xml
nnotate-comments-availability-attrs.cpp
omment-xml-schema.c
|
8da68b8b03d72314b67ea44568e013ef79d93b40 |
03-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
[Doc parse]: SUpport for message in deprecated/unavailable attribute going iinto XML document. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165066 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-deprecated-attr.xml
nputs/CommentXML/valid-unavailable-attr.xml
nnotate-comments-availability-attrs.cpp
|
2a46533633441176e93b484739a0a27e07150b63 |
02-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
[Doc parsing]: Add available and deprecated attribute info to XML output. // rdar://12378879 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165039 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-deprecated-attr.xml
nputs/CommentXML/valid-unavailable-attr.xml
nnotate-comments-availability-attrs.cpp
omment-xml-schema.c
|
d62505677555fd4fae731232d7308a91c2bb10a2 |
02-Oct-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
clang/test/Index: Fix two tests. Both %S and %t are expanded to absolute paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164982 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-macro-args.m
et-cursor-macro-args.m
|
7cf0cd3893bdf7bf1577e52a1565a87e563c57e8 |
02-Oct-2012 |
Michael Gottesman <mgottesman@apple.com> |
[clang-tests] Changed relative paths to absolute paths in run command for annotate-macro-args.m, get-cursor-macro-args.m, import_self.c. This fixes make check-all failures when make -C is used to run the tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164978 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-macro-args.m
et-cursor-macro-args.m
|
0209abf8b413d9904fd869d5de437c9b2d563e48 |
01-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Add xml test for availability to comment-xml-schema.c git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164961 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-availability-attr-01.xml
omment-xml-schema.c
|
faab5618b5beed350d7444de97cf513ef1a42ca6 |
01-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
availability in structured documents. Takes care of comments by Dimitri and Doug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164957 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-availability-attr-01.xml
nnotate-comments-availability-attrs.cpp
|
c04bb926ef693c94560da254e87926e93bb9c92f |
27-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Always report a CXCursor_MacroDefinition for code-completion results for a macro name, not CXCursor_NotImplemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164740 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preprocessor.m
|
526d24444c91404dc4165b141e5ec095125c1bc8 |
26-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Remove the ParentKind cursor kind from code-completion results. This is to reduce dependency to cursors for the code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164705 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation.cpp
omplete-exprs.cpp
omplete-lambdas.mm
omplete-method-decls.m
omplete-objc-message.m
omplete-preamble.cpp
omplete-qualified.cpp
|
1f94124b76680211f3585ac8c3b24b247f46fac3 |
21-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] After deserializing a DeclContext, if it has external lexical decls but not external visible decls, call DeclContext::setMustBuildLookupTable so that the "lazy decls" bit of the LookupPtr is set. Previously, in non-C++, if there were no new declarations causing the "lazy decls" bit to be set, then DeclContext::lookups_begin() would fail to return the decls from the PCH. Fixes rdar://12316296. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164351 91177308-0d34-0410-b5e6-96231b3b80d8
dar12316296-codecompletion.m
|
7f1863326488813e7648845f3cec5225770b1a0b |
14-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When loading an AST file, make sure to apply the language options to the target info. Related to rdar://12069503. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163931 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-pch.cpp
|
67330f197270d857e79d5da8309b9348f80da38d |
13-Sep-2012 |
Ted Kremenek <kremenek@apple.com> |
Add tests for r163778. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163812 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/retain-comments-from-system-headers.h
etain-comments-from-system-headers.c
|
59cabd7101d3871519019efdff008378a985dae9 |
11-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix getting a cursor inside an angled #include directive. Fixed by pointing the end location of the preprocessed entity for the #include at the closing '>', instead of the start of '<'. rdar://11113134 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163588 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
3bed3d196dbb5ad2ea7442da4b6c2fbf6bb5fcc6 |
11-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Do index 'extern' declarations inside functions. rdar://12257073 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163563 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
e4330a302ac20b41b9800267ebd4b5b01f8553f8 |
10-Sep-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment AST: TableGen'ize all command lists in CommentCommandTraits.cpp. Now we have a list of all commands. This is a good thing in itself, but it also enables us to easily implement typo correction for command names. With this change we have objects that contain information about each command, so it makes sense to resolve command name just once during lexing (currently we store command names as strings and do a linear search every time some property value is needed). Thus comment token and AST nodes were changed to contain a command ID -- index into a tables of builtin and registered commands. Unknown commands are registered during parsing and thus are also uniformly assigned an ID. Using an ID instead of a StringRef is also a nice memory optimization since ID is a small integer that fits into a common bitfield in Comment class. This change implies that to get any information about a command (even a command name) we need a CommandTraits object to resolve the command ID to CommandInfo*. Currently a fresh temporary CommandTraits object is created whenever it is needed since it does not have any state. But with this change it has state -- new commands can be registered, so a CommandTraits object was added to ASTContext. Also, in libclang CXComment has to be expanded to include a CXTranslationUnit so that all functions working on comment AST nodes can get a CommandTraits object. This breaks binary compatibility of CXComment APIs. Now clang_FullComment_getAsXML(CXTranslationUnit TU, CXComment CXC) doesn't need TU parameter anymore, so it was removed. This is a source-incompatible change for this C API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163540 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
754a5d14d58213beb0502720e66fef8fa86a21cf |
01-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix indexing type alias declarations. rdar://11878406 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163072 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-file.cpp
|
d579dd5cc43e657647f38be5dd47c8974cd43108 |
01-Sep-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] The annotation of tokens operation visits statement nodes code-recursively. This can blow the stack with extremely deep hierarchies. Switch it to data-recursive. This is implemented by introducing a post-children visitation callback that the CursorVisitor is calling after child nodes of a cursor have been visited. This is used by the annotate-tokens visitor to do extra work at that point. rdar://11979525. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163071 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-deep-statements.cpp
|
50f88b99c60c2ed31b339cd8bd484766cc9e916b |
30-Aug-2012 |
Nico Weber <nicolasweber@gmx.de> |
Reland r160052: Default to -std=c++11 on Windows. Also update the tests that rely on c++98 to explicitly mention that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162890 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-cxx-inline-methods.cpp
ecursive-cxx-member-calls.cpp
|
c88c6a490ee946d80e306efaf83ae41b8f002741 |
28-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Merging consecutive comments: be more conservative. Should fix part 2 of PR13374. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162723 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
c178d76c027d4259c00d4b0b910ad4875c286298 |
28-Aug-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When determining the cursor via a location, ignore synthesized ivars otherwise if we have something like: @synthesize prop = _prop; and '_prop' is not declared, we will encounter a '_prop' ivar before encountering the 'prop' synthesize declaration and we will think that we passed the region-of-interest, missing the cursor for 'prop'. rdar://12172700 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162715 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
srs.m
|
b3dd988abdd8d048ac999a5713239c95692e528c |
23-Aug-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] c-index-test: Make the printing of the overrides list of a cursor in a deterministic order, to avoid random test failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162408 91177308-0d34-0410-b5e6-96231b3b80d8
verrides.m
|
2125c9010e259548a8c476fa998a561889555c95 |
22-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Attaching comments to declarations: when documentation is requested for an implicit instantiation, look for documentation attached to the template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162371 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation-templates.cpp
|
0ac4ec7f1c79a13f813fa644997a4b89ac0ba3aa |
21-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
CommentBriefParser: allow paragraphs to be separated by line of whitespace. Skip paragraphs that contain only whitespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162315 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
d3867f66509c11caf9af4216b2652dd289494755 |
20-Aug-2012 |
Jordan Rose <jordan_rose@apple.com> |
Use -fobjc-runtime=macosx10.7 instead of obsolete -fobjc-runtime-has-weak. This should unbreak the buildbots (r162220). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162232 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-flags.m
|
d7403a70176a50b8f71cb4e2e18ac6ed49fe357e |
20-Aug-2012 |
Jordan Rose <jordan_rose@apple.com> |
Code-complete 'weak' for properties under ARC-with-weak-references (or GC) Also, suggest 'readonly' even if the property has been given an ownership attribute ('strong', 'weak', etc). This is used when properties are declared readonly in the public interface but readwrite in a class extension. <rdar://problem/11500004&11932285> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162220 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-flags.m
|
66a3d4754977cf0e98e510af9d68d00cbc14b7a8 |
17-Aug-2012 |
Douglas Gregor <dgregor@apple.com> |
Make the spacing of the code completion result for NSDictionary literals match the spacing introduced by the ObjC modernizer. Fixes the rest of <rdar://problem/11889572>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162084 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
fb4306756208118d66f63abdd82cc10b19b5e4ba |
17-Aug-2012 |
Douglas Gregor <dgregor@apple.com> |
When we need the complete set of visible declarations from a declaration context, check whether the primary context---not the current context---has any external visible declarations. Fixes PR13616. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162083 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preamble.cpp
omplete-preamble.h
|
27bec77f5eb0920b401497be32713cb42339edef |
17-Aug-2012 |
Douglas Gregor <dgregor@apple.com> |
Don't do jump-scope checking when code completion is enabled. It's both a waste of time, and prone to crash due to the use of the error-recovery path in parser. Fixes <rdar://problem/12103608>, which has been driving me nuts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162081 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-enums.cpp
|
f50555eedef33fd5a67d369aa0ae8a6f1d201543 |
11-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Attaching comments to declarations: find comment attached to any redeclaration Not only look for the comment near the declaration itself, but also walk the redeclaration chain: the previous declaration might have had a documentation comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161722 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation.cpp
|
9cdd157912cf9987f1f4d1994e4a5bc44d8996d7 |
09-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove absolute file path in test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161602 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
62290ae569016345b79d4e11dd93abc300e5a681 |
09-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML and XML conversion: ignore commands that contain a declaration as their argument. For example, \fn, \function, \typedef, \method, \class etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161601 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
d1db12540e572d6e3d998a4b770a6b2c7267d7fc |
09-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML and XML conversion: use CommandTraits to classify commands. This also fixes a bug in comment to XML conversion: \result was just an ordinary paragraph, not an alias for \returns. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161596 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
6cd4420945489e7331012103048f162288a6c7d8 |
09-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment XML: use xml:space="preserve" in Verbatim tags, so that XML tidy does not compress spaces in verbatim content. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161531 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-function-07.xml
nnotate-comments.cpp
|
cff339a60a571a606a7510548f661dc6a719368d |
07-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment AST: DeclInfo: add a special kind for enums. Comment XML: add a root node kind for enums. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161442 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/valid-enum-01.xml
nnotate-comments.cpp
omment-xml-schema.c
|
dd7b803e6ce5b8e61cf3b14af2c57199e5e991d9 |
07-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment AST: treat enumerators as "variables" in DeclInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161435 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
f303d4cb10648ac9c2080ae7c9dd507ba615e3a7 |
07-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang API for comment-to-xml conversion. The implementation also includes a Relax NG schema and tests for the schema itself. The schema is used in c-index-test to verify that XML documents we produce are valid. In order to do the validation, we add an optional libxml2 dependency for c-index-test. Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric Christopher. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161431 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/CommentXML/invalid-function-01.xml
nputs/CommentXML/invalid-function-02.xml
nputs/CommentXML/invalid-function-03.xml
nputs/CommentXML/invalid-function-04.xml
nputs/CommentXML/invalid-function-05.xml
nputs/CommentXML/invalid-function-06.xml
nputs/CommentXML/invalid-function-07.xml
nputs/CommentXML/invalid-function-08.xml
nputs/CommentXML/invalid-function-09.xml
nputs/CommentXML/invalid-function-10.xml
nputs/CommentXML/invalid-function-11.xml
nputs/CommentXML/invalid-function-12.xml
nputs/CommentXML/valid-class-01.xml
nputs/CommentXML/valid-class-02.xml
nputs/CommentXML/valid-class-03.xml
nputs/CommentXML/valid-class-04.xml
nputs/CommentXML/valid-function-01.xml
nputs/CommentXML/valid-function-02.xml
nputs/CommentXML/valid-function-03.xml
nputs/CommentXML/valid-function-04.xml
nputs/CommentXML/valid-function-05.xml
nputs/CommentXML/valid-function-06.xml
nputs/CommentXML/valid-function-07.xml
nputs/CommentXML/valid-function-08.xml
nputs/CommentXML/valid-function-09.xml
nputs/CommentXML/valid-function-10.xml
nputs/CommentXML/valid-namespace-01.xml
nputs/CommentXML/valid-other-01.xml
nputs/CommentXML/valid-typedef-01.xml
nputs/CommentXML/valid-typedef-02.xml
nputs/CommentXML/valid-variable-01.xml
nnotate-comments.cpp
omment-xml-schema.c
|
6a425525e52aba5a8e14db35d50a712be4e5e2e1 |
02-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML conversion: correct typo in CSS class name: taram -> tparam git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161145 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
f0d151c485bec560e73c74e816cd969e0c485c71 |
01-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML conversion: skip \tparam commands with whitespace paragraphs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161096 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
59500fec689f7def27bb83bd21e19417ad527906 |
01-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML conversion: escape HTML special characters in command arguments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161094 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
96b098674908eaa59a9128f3305cda6fbbdad563 |
01-Aug-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment parsing: add support for \tparam command on all levels. The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this breaks libclang binary compatibility, but should not be a problem since API is so new. This also fixes PR13372 as a side-effect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161087 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
d48ab06b178e400ac31ef4fe649e9c33d2caf651 |
31-Jul-2012 |
Douglas Gregor <dgregor@apple.com> |
Tweak code-completion heuristics deciding between a lambda code-completion and an Objective-C message send, based on Jordan's feedback. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161049 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-lambdas.mm
|
437fbc51c260780af2f639da6af1c1f91e66f2ab |
31-Jul-2012 |
Douglas Gregor <dgregor@apple.com> |
When we encounter a code-completion token while parsing an ill-formed lambda-introducer in Objective-C++11, fall back to treating the tokens as an Objective-C message send to provide those (more likely) completions. Fixes <rdar://problem/11980263>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161015 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-lambdas.mm
|
477a9f58c1b197f315befd03b42a8a0b3a2f0ff9 |
27-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Implement resolving of HTML character references (named: &, decimal: *, hex: ) during comment parsing. Now internal representation of plain text in comment AST does not contain character references, but the characters themselves. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160891 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
2c6b00e7126399210b759f4da53c680bee01a706 |
25-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang comment to HTML rendering: \result is the same as \returns git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160738 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
1f8c529a2a938a5055f440aa063ea0b49eafae98 |
23-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
libclang comments AST: clang_ParamCommandComment_getParamName: don't assert when a \param command does not have a parameter name, just return an empty string instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160638 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
2d66a5016d4aacce362f89290261c8a1a6eef0d3 |
23-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment AST: add InlineContentComment::RenderKind to specify a default rendering mode for clients that don't want to interpret Doxygen commands. Also add a libclang API to query this information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160633 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
3e63d332baf0d3b8a5c0b7c2dac2ae85615b1d47 |
21-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment to HTML conversion: add more CSS classes to identify function arguments by index. This is useful if the user does not document all arguments, and we can't find a particular argument by index via :nth-of-type() CSS selector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160595 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
ae99b75fbbac1deaccdcc1b326b8fb6b07a1e72d |
20-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add libclang APIs to walk comments ASTs and an API to convert a comment to an HTML fragment. For testing, c-index-test now has even more output: * HTML rendering of a comment * comment AST tree dump in S-expressions like Comment::dump(), but implemented * with libclang APIs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160577 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
72021ff4038cbc48b09a3acb743e319809f086db |
20-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
CommentBriefParser: use \returns if we can't find the \brief or just a plain paragraph. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160550 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
796158971bda18cf4af237c46769914cfa7276b7 |
18-Jul-2012 |
Douglas Gregor <dgregor@apple.com> |
Remove unnecessary spacing around Objective-C object literal code completions. Fixes <rdar://problem/11889572>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160407 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
659a7124c7069b3e01dd171f7290562f58f9e97a |
17-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
CommentBriefParser: make \short should equivalent to \brief, per Doxygen manual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160383 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
a770a4daf77037b5526dba1c447d61acf0aba01a |
16-Jul-2012 |
Daniel Jasper <djasper@google.com> |
Add correct parenthesis range to CXXConstructExprs inside CXXFunctionalCastExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160252 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
9c00676f2393335dc60c61faf944d4f8f622fac6 |
07-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Restrict the set of declaration kinds for which we allow trailing comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159878 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
f39a7aea7dd0bf0716a066e2db2f97ea8730e4fa |
03-Jul-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_isDynamicCall which, given a cursor pointing to a C++ method call or an ObjC message, returns non-zero if the method/message is "dynamic", meaning: For a C++ method: the call is virtual. For an ObjC message: the receiver is an object instance, not 'super' or a specific class. rdar://11779185 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159627 91177308-0d34-0410-b5e6-96231b3b80d8
ursor-dynamic-call.mm
|
d99ef536b241071b6f4c01db6525dc03242ac30b |
02-Jul-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add a new libclang completion API to get brief documentation comment that is attached to a declaration in the completion string. Since extracting comments isn't free, a new code completion option is introduced. A new code completion option that enables including brief comments into CodeCompletionString should be a, err, code completion option. But because ASTUnit caches global declarations during parsing before even completion consumer is created, the option is duplicated as a translation unit option (in both libclang and ASTUnit, like the option to cache code completion results). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159539 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-documentation.cpp
|
db29318326aba9e0c5c1bbba093687dccc38fc39 |
30-Jun-2012 |
Arnaud A. de Grandmaison <arnaud.adegm@gmail.com> |
[libclang] add CompilationDatabase support git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159484 91177308-0d34-0410-b5e6-96231b3b80d8
ompile_commands.json
|
d558b5238df74ef3cb76d7125375a5c28fe0eaa9 |
28-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Cleanup \brief comment. Since it is a single paragraph, no need to save newlines there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159325 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-unterminated.c
nnotate-comments.cpp
|
f199b9cd4af562029a3c7b82c4672819b2c39e70 |
28-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Teach \brief parser about commands that start a new paragraph implicitly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159309 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
8bdb58a7835a9a90dd9b9791fccf269cbc1dcef3 |
28-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Attaching documentation comments to declarations: don't attach a comment to a declaration if there is a preprocessor directive between them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159305 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
1255e1b35e2133bc286dc205c6f1718914f50b81 |
27-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Add a test for unterminated /* comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159267 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments-unterminated.c
|
2d44d77fed3200e2eff289f55493317e90d3398c |
26-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Implement a lexer for structured comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159223 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
e601b237e495bb15a5e5df2e20c61fa01a6c4df0 |
22-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Handle include directive with comments. It turns out that in this case comments are not coming in source order. Instead of trying to std::sort() comments (which can be costly), just remove comments that are not in order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158940 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/annotate-comments-preprocessor.h
nnotate-comments-preprocessor.c
|
aa0cd85838f2a024e589ea4e8c2094130065af21 |
20-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Structured comment parsing, first step. * Retain comments in the AST * Serialize/deserialize comments * Find comments attached to a certain Decl * Expose raw comment text and SourceRange via libclang git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158771 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-comments.cpp
|
a0cff720d40f239fee0e5ecc8378122b456c1991 |
16-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[AST/libclang] Fix the selector locations that are reported for a method definition that has its '{' attached to the method name without a space. With a method like: -(id)meth{ ..... } the logic in ObjCMethodDecl that determined the selector locations got confused because it was initialized based on an end location for '{' but that end location changed to '}' after the method was finished. Fix this by having an immutable end location for the declarator and for getLocEnd() get the end location from the body itself. Fixes rdar://11659739. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158583 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
verrides.m
|
1f6e22d14419db7162202854190f690f393daf2d |
15-Jun-2012 |
Jordan Rose <jordan_rose@apple.com> |
[completion] Add completions for @"..." and @(...), and tidy up @[] and @{}. Specifically, @[] and @{} didn't have a type associated with them; we now use "NSArray *" and "NSDictionary *", respectively. @"" has the type "NSString *". @(), unfortunately, has type "id", since it (currently) may be either an NSNumber or an NSString. Add a test for all the Objective-C at-expression completions. <rdar://problem/11507708&11507668&11507711> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158533 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
b92a4089db33ae9d44e015cf2dfd1e82fea88747 |
12-Jun-2012 |
Douglas Gregor <dgregor@apple.com> |
When code completion walks the members of a protocol or interface, make sure that we walk the definition. Fixes <rdar://problem/11427742>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158357 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
omplete-properties.m
|
135bf8ee69e2ae2daea4f713381995028c41e264 |
09-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When doing the cursor visitation make sure declarations in the same line do not override getting a cursor for the previous declaration. e.g: int x, y; @synthesize prop1, prop2; pointing at 'x'/'prop1' would give 'y'/'prop2' because their source ranges overlap. rdar://11361113 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158258 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.c
et-cursor.m
|
374a00bcc6e26b4fc3cd1d378a5d056c4c7d618e |
08-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Don't crash when saving a PCH from a prefix header that does not exist. rdar://11607033 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158193 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.c
|
c18909ebd57608f8bec96dbd5e596c5695fa4045 |
08-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a triple to test/Index/index-decls.m git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158192 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
390fff8e8b480fa146ffc14cbc63a1c2f9e2d206 |
08-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang/AST] AST: For auto-synthesized ivars give them the location of the related property (previously they had no source location). This allows them to be indexed by libclang. libclang: Make sure synthesized ivars are indexed before the methods that may reference them. Fixes rdar://11607001. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158189 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
2f316dd47b851fcf58c8f1f072bf390ec09bed7a |
02-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Follow-up on the test of r157892 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157893 91177308-0d34-0410-b5e6-96231b3b80d8
reate-tu-fail.c
|
25c2596b987ae6e22626252d231211ab06e1dc3f |
02-Jun-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Initialize the non-target-dependent fields of the Preprocessor in its constructor so we can destroy it even if it was constructed with "DelayInitialization = true", and we didn't end up calling Preprocessor::Initialize. Fixes crashes in rdar://11558355 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157892 91177308-0d34-0410-b5e6-96231b3b80d8
reate-tu-fail.c
|
6e5fa8c74ac4ed70475fcc0e48b897e2dbe9c8d4 |
25-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test I forgot to commit for r156890. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157491 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.m
|
25bd27932a5b94c8314bf1b999fdea1c4032f11d |
24-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Report CXType_ObjCId for 'const id', not CXType_Typedef. rdar://11357807 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157356 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.m
|
d6277fb9e0353edffc0d6c8655a65542c08cf6f1 |
21-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[driver] When creating the compiler invocation out of command-line arguments, force use of clang frontend for the driver. Fixes rdar://11356765. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157205 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-kernel-invocation.cpp
|
5641b0d02563840c51c33b93dc663c55306093f3 |
17-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang/AST] When declaring a local class, don't neglect to set the end location of the DeclStmt node, otherwise libclang will not work for anything inside that class. rdar://10837710 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156966 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
98ae834a3e289f84f0765d0d0ca7ff22ccaba458 |
10-May-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix an old (2009) FIXME: // FIXME: This needs to happen before we merge declarations. Then, // let attribute merging cope with attribute conflicts. This was already being done for variables, but for functions we were merging then first and then applying the attributes. To avoid duplicating merging logic, some of the helpers in SemaDeclAttr.cpp become methods that can handle merging two attributes in one decl or inheriting attributes from one decl to another. With this change we are now able to produce errors for variables with incompatible visibility attributes or warn about unused dllimports in variables. This changes the attribute list iteration back to being in reverse source code order, as that matches what decl merging does and avoids differentiating the two cases is the merge*Attr methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156531 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-with-annotations.cpp
|
c44c0e4e2f3f911319a6a5ab564fe59a4ece45a0 |
09-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test for objc boxed expressions. rdar://11407754 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156485 91177308-0d34-0410-b5e6-96231b3b80d8
oxed-exprs.h
oxed-exprs.m
|
e15db6f0d226a3bc88d244512d1004c7c1c07391 |
09-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[AST/libclang] Speed up clang_getOverriddenCursors() considerably by reserving a bit in ObjCMethodDecl to indicate whether the method does not override any other method, which is the majority of cases. That way we can avoid unnecessary work doing lookups, especially when PCH is involved. rdar://11360082 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156476 91177308-0d34-0410-b5e6-96231b3b80d8
verrides.m
|
ae5ac1f5bdbcc5190b3867d16d0f41c2b10e0c65 |
08-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Map 'id'/'Class'/'SEL' to the corresponding CXType kinds. rdar://11357807 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156352 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.m
|
7032265efe50d7218312f1fc9f2b58829db49d1b |
08-May-2012 |
Douglas Gregor <dgregor@apple.com> |
Robustify test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156349 91177308-0d34-0410-b5e6-96231b3b80d8
vailability.c
|
cc889664dec7776ebb598e4584e7df5ba2f59ab4 |
08-May-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang API to determine the platform availability of a given entity, so that we can tell when the entity was introduced/deprecated/obsoleted on each platform for which we have an annotation. Addresses <rdar://problem/11365715>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156347 91177308-0d34-0410-b5e6-96231b3b80d8
vailability.c
-index-api-loadTU-test.m
|
9b79fc9c57dc9d541c2a5737c3e2c24cc68d485d |
08-May-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Process attributes in the order they appear in the source code. This make clang match gcc behavior for two conflicting visibilities in the same decl. It also makes handling of dllimport/dllexport more natural. As a bonus we now warn on the dllimport in void __attribute__((dllimport)) foo13(); void __attribute__((dllexport)) foo13(); as does gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156343 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-with-annotations.cpp
|
0e22a9fd3a892985cd6277c174fd2157354476db |
01-May-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For RecursiveASTVisitor, do data recursion for CXXOperatorCallExpr. rdar://11289247 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155849 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-many-call-ops.cpp
|
a9d45a3f423f60fa5d1f977acb5c8df50198f27e |
17-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure that when we have multiple @class references in the same line, that later ones do not override the previous ones. If we have: @class Foo, Bar; source ranges for both start at '@', so 'Bar' will end up overriding 'Foo' even though the cursor location was at 'Foo'. rdar://11257578 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154873 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
9482a185d34d8b0f6d788c44e2c128991622c0ad |
16-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Spelling range for a objc category should the category name range, not the class one. rdar://11249386 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154853 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
d98ef9ae48ab4090d4d5d703ce65cfac62807fda |
11-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce a couple of functions to make it convenient to get at the parameters (and their types) of a function or objc method cursor. int clang_Cursor_getNumArguments(CXCursor C); CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i); rdar://11201527 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154523 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
rint-typekind.m
|
eba8cd5967e47592285590360bde73063c9c226f |
11-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] In cxloc::translateSourceRange make sure to handle locations in macro arguments correctly. clang diagnostics can provide fixits inside a macro argument now. rdar://11014346 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154517 91177308-0d34-0410-b5e6-96231b3b80d8
ix-its.c
|
15f4c9819d172139c0b37e8a68767ea4fc03e5b6 |
10-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For clang_getOverriddenCursors make sure to report overridden objc methods for methods in categories of super classes. rdar://11220358 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154436 91177308-0d34-0410-b5e6-96231b3b80d8
verrides.m
|
90f5f47348b6581eab5d42eaeacf7f2b28b8118f |
10-Apr-2012 |
Douglas Gregor <dgregor@apple.com> |
Include the Objective-C parameter- and return-passing qualifiers when providing code completions for Objective-C method declarations. Fixes <rdar://problem/11164498>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154421 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
10ccf12a06cc1ef5b778c20565945f313a9a2c26 |
10-Apr-2012 |
Douglas Gregor <dgregor@apple.com> |
Don't include the ':' following code-completion suggestions for 'public', 'private', or 'protected', unless code completion patterns are enabled. Fixes <rdar://problem/11189132>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154413 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-super.cpp
|
0cc9fdbc551ec622d73d27e703d30a443ce7b0b5 |
10-Apr-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add a target triple to test/Index/complete-synthesized.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154409 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
2ca35e6ce46a1edec69d85aa1cf7db16b9a012f0 |
10-Apr-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Remove -fobjc-default-synthesize-properties as the option to c-index-test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154347 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
893a6eaf52930701950b7fc01a2478bb86899b77 |
03-Apr-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Don't treat synthesized ivars as being in the base class for the purpose of looking up visible decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153967 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
d786f1a6331246e7d0eedde277f126ab92089eeb |
31-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix use-after-free bug when handling attributes indexing info. When indexing a property with a getter/setter with attributes, the allocated memory for AttrListInfo could get released before its destructor is run. Fixes rdar://11113442. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153792 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-attrs.m
|
34ebe1e1b0779bcea2f277bc6b4e9dd98bf70b7b |
31-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_getObjCSelectorIndex() function. After getting a cursor with clang_getCursor for a particular source location, allows querying the cursor in order to find out if the location points to a selector identifier in an objc method or message expression, and which selector index it is. rdar://11158946 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153781 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
ba1da14e79c1ecd49306e5175b69baa1e7ed4293 |
30-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_Cursor_getSpellingNameRange(). It retrieves a source range for a piece that forms the cursors spelling name. Most of the times there is only one range for the complete spelling but for objc methods and objc message expressions, there are multiple pieces for each selector identifier. Part of rdar://11113120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153775 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
b085d898bdfe35097eba45f4072b0f6865f561dc |
30-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add info to ObjCPropertyRefExpr to indicate whether the dot syntax property reference is going to message the setter, the getter, or both. Having this info on the ObjCPropertyRefExpr node makes it easier for AST clients (like libclang) to reason about the meaning of the property reference. [AST/Sema] -Use 2 bits (with a PointerIntPair) in ObjCPropertyRefExpr to record the above info -Have ObjCPropertyOpBuilder set the info appropriately. [libclang] -When there is an implicit property reference (property syntax using methods) have clang_getCursorReferenced return a cursor for the method. If the property reference is going to result in messaging both the getter and the setter choose to return a cursor for the setter because it is less obvious from source inspection that the setter is getting called. The general idea has the seal of approval by John. rdar://11151621 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153709 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
d0469525581a851b68f5b4f960ee4190dcc7c932 |
30-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] A MemberRefExpr cursor for a property dot syntax should have as its location the location of the property. Part of rdar://11113120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153708 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
66373dd2d508407ed5894ad65f654eea8d892319 |
30-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Have c-index-test output more information about a cursor with -cursor-at: -the location of the cursor -its extent -its spelling Part of radar://11113120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153707 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
ba1030698dbc276db86b11c5329a1edee8a1805e |
28-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang API to determine the parent context of a code completion item. For example, if the code completion itself represents a declaration in a namespace (say, std::vector), then this API retrieves the cursor kind and name of the namespace (std). Implements <rdar://problem/11121951>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153545 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
omplete-method-decls.m
omplete-objc-message.m
omplete-qualified.cpp
|
5d5ed59f1ee57ad2639f0ef1fb400f8854480bb0 |
24-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[parser] If there are unmatched braces in a function definition, try to recover by returning the statements that we parsed so far, instead of dropping the whole function body. rdar://10967343 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153367 91177308-0d34-0410-b5e6-96231b3b80d8
nmatched-braces.c
nmatched-braces.m
|
30a2805c2c85e6abfe3149293f83f60da018b2df |
24-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure we don't crash when trying to index code that managed to insert an @interface as top level decl contained by another @interface. A commit to also not allow this as valid code will be coming. rdar://11105114. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153354 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
ccc6f36e53274fccae024f30ac5adb6be6f815d3 |
23-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, return from clang_getCursorLocation the start location of the method name. rdar://11105223 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153303 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-macro-args.m
nnotate-tokens.m
nnotate-toplevel-in-objccontainer.m
-index-api-loadTU-test.m
-index-getCursor-test.m
ile-refs.m
et-cursor-macro-args.m
et-cursor.m
ocal-symbols.m
verrides.m
rint-typekind.m
roperties-class-extensions.m
srs.m
|
8e42f2782338666ec67eab2e709e18b92060eeba |
17-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
When determining the availability of an enum constant, also consider the availability of the enumeration type itself. Fixes <rdar://problem/10996386>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152977 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-enums.c
|
90226acd0b9be2964343cd63ae604bf0a656d33b |
15-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make RecursiveASTVisitor to traverse certain statements using data recursion to avoid a stack overflow with extreme cases. Part of rdar://10941790. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152820 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-many-logical-ops.c
|
9a0b6b4e2bf6a9ef41d32b4e83f2911981d2d44d |
12-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Sema] -Add an invalid objc category to the DeclContext so that it can be serialized -Don't add methods of invalid objc containers to the global method pool. This protects us from trying to serialize a method whose container was not serialized. Part of rdar://11007039. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152566 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.m
|
a346efaaad5cd779cdfd5be73c2b258748ad1f06 |
10-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Sema] A tag decl that is marked as invalid and is used in a decl-spec, should not impede creating a proper TypeLoc info for the decl-spec. This improves our semantic error recovery. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152481 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-invalid-code.m
|
ba50b3e8bc68bace2f6715111bbbb8510965be01 |
09-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Allow serializing an invalid ParmVarDecl and don't set access to public for invalid ParmVarDecls. Part of rdar://11007039. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152437 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.c
|
216f78b7333dbc89f58fa69066396ae3237da6da |
09-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Improve our semantic error recovery. When an error made a record member invalid, the record would stay as "isBeingDefined" and not "completeDefinition". Even easily recoverable errors ended up propagating records in such "beingDefined" state, for example: struct A { ~A() const; // expected-error {{'const' qualifier is not allowed on a destructor}} }; struct B : A {}; // A & B would stay as "not complete definition" and "being defined". This weird state was impending lookups in the records and hitting assertion in the ASTWriter. Part of rdar://11007039 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152432 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.c
|
29f98b40caabca1ec820d546c5c08206a1d4f520 |
08-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix a crash when serializing a preprocessing record that contains an #include entry that did not resolve to header file. Part of rdar://11007039 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152275 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.c
|
044e645605c6d75223e33d23e3c5701cb389969f |
08-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Enhance clang_getOverriddenCursors. Basically the current design is: -for an implementation method, show as overridden the interface method. This is not useful, and is inconsistent with the C++ side -for an interface method, show as overridden the protocols methods (this is desirable) and the methods from the categories; methods from categories are not useful since they are considered the same method (same USR). -If there is a protocol method or category method reported, it does not check the super class for overridden methods. This is really problematic since overridden methods from super class is what we want to give back. Change clang_getOverriddenCursors to show as overridden any method in the class's base class, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). If no such method exists, the search continues to the class's superclass, its protocols, and its categories, and so on. A method from an Objective-C implementation is considered to override the same methods as its corresponding method in the interface. rdar://10967206 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152270 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
ile-refs.m
ocal-symbols.m
verrides.m
srs.m
|
bef35c91b594f66216f4aab303b71a6c5ab7abcf |
07-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Mark a PCH file with a flag to indicate if the serialized AST had compiler errors or not. -Control whether ASTReader should reject such a PCH by a boolean flag at ASTReader's creation time. By default, such a PCH file will be rejected with an error when trying to load it. [libclang] Allow clang_saveTranslationUnit to create a PCH file even if compiler errors occurred. -Have libclang API calls accept a PCH that had compiler errors. The general idea is that we want libclang to stay functional even if a PCH had a compiler error. rdar://10976363. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152192 91177308-0d34-0410-b5e6-96231b3b80d8
ch-with-errors.c
error.c
|
b3f7542a950ac0d585a7783e825cfe670e05c553 |
06-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152138 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-literals.m
nnotate-subscripting.m
omplete-exprs.m
ile-refs-subscripting.m
ix-its.c
ndex-subscripting-literals.m
|
32ad2ee2618745ce3da51c2ae066ed5f21157c07 |
01-Mar-2012 |
Ted Kremenek <kremenek@apple.com> |
Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, and don't have time to push it forward in the near future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151841 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-modules.m
rash-recovery-modules.m
|
f76b897c8ff23cef3b7b9dd12e5778b508b002ca |
29-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test I forgot to commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151669 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-decls.m
|
e1d4330adaaa7faf093e725c9c993207eb2d778a |
25-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't record nested macro expansions in the preprocessing record, it can only bring pain when dealing with preprocessor abuse (see: boost). rdar://10898986 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151427 91177308-0d34-0410-b5e6-96231b3b80d8
ested-macro-instantiations.cpp
|
7c4a6191c2aaa169b76ff5015bc387f1e375bf68 |
24-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a triple to the test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151386 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.m
|
4ca8ac2e61c37ddadf37024af86f3e1019af8532 |
24-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement a new type trait __is_trivially_constructible(T, Args...) that provides the behavior of the C++11 library trait std::is_trivially_constructible<T, Args...>, which can't be implemented purely as a library. Since __is_trivially_constructible can have zero or more arguments, I needed to add Yet Another Type Trait Expression Class, this one handling arbitrary arguments. The next step will be to migrate UnaryTypeTrait and BinaryTypeTrait over to this new, more general TypeTrait class. Fixes the Clang side of <rdar://problem/10895483> / PR12038. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151352 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
|
2fffbc770a89905a40dc1689eb934aa00edcc0c9 |
24-Feb-2012 |
David Blaikie <dblaikie@gmail.com> |
Fix test for non-block-default platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151343 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.m
|
8cceefac395d476114b3d4ecd7e969b2e1c9271d |
24-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When keeping track of top-level decls for "targeted deserialization" make sure we don't mistake ParmVarDecls for top-level decls. Fixes rdar://10920009. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151330 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.m
argeted-cursor.m.h
|
644af7b50bd0541468b45c197f5b637e934d48a0 |
23-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure that all top-level decls in a @implementation are marked as such. Previously we missed tag declarations; fixes rdar://10902015 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151283 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
e0d92a43073d9a8eec220042651ccad9b0f71cc5 |
22-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Index the field references of a designated initializer, rdar://10906206 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151118 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
f11641a2c651e4e9733c5f5011993554d7c635e5 |
16-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
If code completion patterns are not enabled, use simpler else/else if completions that don't insert braces. Fixes <rdar://problem/10764168>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150707 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-stmt.c
|
c874ca1c7378d62aff008d74cf744636730f2db4 |
16-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix the RecursiveASTVisitor to not traverse C++ default parameters twice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150651 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
f8490eeb966103516da4e3ecb05e1a36b3e6e3ec |
16-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Do index statements inside a type source info. rdar://10872758 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150647 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
81f3bff7c202d688c9298bc049fdb5b6f77057b1 |
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion support for lambda capture lists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150583 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-lambdas.cpp
|
011d8b93b7cfa8492b8a9c909a850d6577e08dca |
15-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement indexing support for lambdas in libclang (both kinds), as well as improving the RecursiveASTVisitor's walk of lambda expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150549 91177308-0d34-0410-b5e6-96231b3b80d8
xx11-lambdas.cpp
|
58d2dbea680a75de266c5eff77cc15c323cfd48a |
14-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing: only index implicit template instantiations via an opt-in indexing option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150517 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
b70a3bad9c767b3cdeadf363d4dbe8ad25a26588 |
11-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For a reference of an implicit template instantiation just give a reference for the instantiation decl. Also test that its location is correct after previous commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150291 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
911d717307e0d90980699cf75204c22e4462b45d |
10-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing API: fully index using decls and directives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150268 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
8e4bc1ec61f5895d10dba3e6212d6b505c8caca7 |
09-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a libclang test I neglected to commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150193 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-suppress-refs.cpp
ndex-suppress-refs.hpp
|
46e75477bd24a703da11d354587c9bea69d6888f |
08-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr that is referencing the member function, so we can index the referenced function. Fixes rdar://10762375&10324915 & http://llvm.org/PR11192 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150033 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
ndex-refs.cpp
ecursive-cxx-member-calls.cpp
|
849639d8b548519cc5a00c0c9253f0c0d525060d |
07-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make parsing of objc @implementations more robust. Parsing of @implementations was based on modifying global state from the parser; the logic for late parsing of methods was spread in multiple places making it difficult to have a robust error recovery. -it was difficult to ensure that we don't neglect parsing the lexed methods. -it was difficult to setup the original objc container context for parsing the lexed methods after completing ParseObjCAtImplementationDeclaration and returning to top level context. Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration(). ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed; all the data and logic for late parsing of methods is now in one place. This allows us to provide code-completion for late parsed methods with mis-matched braces. rdar://10775381 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149987 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-in-invalid-method.m
|
34a2c42ba8cc58a404238a3c1cbc4a7442e57832 |
02-Feb-2012 |
Ted Kremenek <kremenek@apple.com> |
Per discussion on cfe-dev, remove '#error' and '#warning' from diagnostic text. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149566 91177308-0d34-0410-b5e6-96231b3b80d8
etain-target-options.c
|
b223d8c4266655fe7a9491a0aff0263597672823 |
01-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions for a switch over a scoped enumeration type, be sure to add the qualifier for the enumeration type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149471 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-enums.cpp
|
c6d626b0e3f1dee265668c61bfd39c43eb93afc4 |
29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Update line numbers. Sigh git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149202 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-modules.m
|
a007431cd4eafd37f5d83e4e32bd79792d72306f |
29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Also require a proper shell git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149201 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-modules.m
|
85ae12db3bbc60b920c086f1cb23cc94ad4802ae |
29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Ensure that we clean up after a failed module build and cope with the results in libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149200 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/Headers/crash.h
nputs/Headers/module.map
rash-recovery-modules.m
|
c5b2e58840748145d1706c1d1481369d1863fabf |
29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion support for module import declarations, e.g., @import <complete with module names here> or @import std.<complete with submodule names here> Addresses <rdar://problem/10710117>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149199 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/Frameworks/Framework.framework/Headers/Framework.h
nputs/Headers/a.h
nputs/Headers/a_extensions.h
nputs/Headers/module.map
nputs/Headers/nested/module.map
nputs/Headers/nested/nested.h
omplete-modules.m
|
c15707d8da08df2eb22f6ed047743fa3f7c9831b |
24-Jan-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" for forward references of classes and protocols, this breaks libclang API usage. rdar://10747438. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148861 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
nnotate-tokens.m
ile-refs.m
roperties-class-extensions.m
|
f5cd27d7eef3fd4021545dd76a1faf7152fda344 |
23-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Handle pseudo-object expressions (and any other placeholder expression) when code-completing member access expressions. Fixes <rdar://problem/10717172>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148703 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-member-access.m
|
c8dc1352071575c36401158094a865ad682fb886 |
21-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Fix the code completion string for variadic macros with more than one argument, which was broken and very ugly (and even had a test case to make *sure* it was broken and ugly). Fixes <rdar://problem/10609117>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148606 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
3575c456e969d71623fe83e19ea499285cdb3567 |
20-Jan-2012 |
Bob Wilson <bob.wilson@apple.com> |
Remove unnecessary and incorrect redirection of stderr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148583 91177308-0d34-0410-b5e6-96231b3b80d8
nvalid-rdar-8236270.cpp
|
9ec60dfe771ff28a84889dced6f8fd3748d3d55e |
20-Jan-2012 |
Sebastian Pop <spop@codeaurora.org> |
rename -ccc-host-triple into -target git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148582 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
et-cursor.m
etain-target-options.c
srs.m
|
0b28928a715c423b3471c539f1d5499b405c0ec9 |
20-Jan-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix crash when indexing attributes, rdar://10702250. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148524 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-attrs.m
|
31cbe684302a5ccb001fa2131c0e4aeaa372f5c0 |
13-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Revert r148138; it's causing test failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148141 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
et-cursor.m
etain-target-options.c
srs.m
|
edd4f3c39101912605c2a1868dd2be71aa218798 |
13-Jan-2012 |
Sebastian Pop <spop@codeaurora.org> |
rename -ccc-host-triple into -target git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148138 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
et-cursor.m
etain-target-options.c
srs.m
|
375bb1413c041055262c8a416f20d10474a5eda9 |
27-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDecl covers both declarations (@class) and definitions (@interface) of an Objective-C class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147299 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
nnotate-tokens.m
ile-refs.m
roperties-class-extensions.m
|
d7711ec430fde5706f85ba6c4b85283a8e743ff7 |
21-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For SourceManager::isBeforeInTranslationUnit(), have it consider macro arg expanded token locations as coming before the closing ')' of a function macro expansion. Include a unit test for SourceManager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147056 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
7723fec9b45b7258c0eddf4cbfd0d335348f5edc |
15-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Keep track of all declarations of an Objective-C class (both forward declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146679 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
|
90fd67af4aeec7d1661986dd25eabf924e11a76c |
15-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Suppress indexing references for occurrences of the interface in a superclass and the protocols in a protocol list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146615 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-suppress-refs.h
ndex-suppress-refs.m
|
e422e45a6a89d450b8eca10f671b49874e87617a |
13-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing API: Fix indexing of missed references. rdar://10567864&10567916 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146497 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-refs.cpp
|
c2be04eaec94e20fc825fb98b713112d9d82562f |
13-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Indexing API: Fix suppressing of references in macros and suppress @class forward references. rdar://10568080&10568103&10568119 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146496 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-suppress-refs.h
ndex-suppress-refs.m
|
84b796492de8a708150dd3f86ae191041d42eef9 |
06-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] API enhancements by Joe Groff! - Exposes a CXType_Vector type kind for vector types. - Adds generalized versions of the clang_getArrayElementType and clang_getArraySize functions, named clang_getElementType and clang_getNumElements, which work on array, vector, or complex types. - Adds additional functions for querying function types. clang_isFunctionTypeVariadic returns true if a function type is variadic. clang_getFunctionCallingConv returns an enumeration value indicating the calling convention of the function type. clang_getNumArgTypes returns the number of static argument types, and clang_getArgType gets the type of an argument. - Adds a clang_getTypedefDeclUnderlyingType function to get the underlying type from a TypedefDecl cursor. - Adds a clang_getEnumDeclIntegerType function to get the integer type from an EnumDecl cursor. - Adds clang_getEnumConstantDeclValue and clang_getEnumConstantDeclUnsignedValue functions to get the value of an EnumConstantDecl as a signed or unsigned long long, respectively. - Exposes a CXCursor_AsmLabelAttr cursor kind for __asm__("label") attributes. - Alters clang_getCursorSpelling to return the label value for AsmLabelAttr-kind cursors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145972 91177308-0d34-0410-b5e6-96231b3b80d8
sm-attribute.c
ector-types.c
|
d64251fd56577dd5c78903454632361e094c6dc1 |
06-Dec-2011 |
Erik Verbruggen <erikjv@me.com> |
Extend warnings for missing '@end'. Fixes PR2709. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145928 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid-usrs.m
|
8bc27822fc867d43399d4474bccbb58b7b7c7ad7 |
03-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Make sure that the SourceExpr of a OpaqueValueExpr is always initialized when deserialized, fixing random crashes in libclang. Also simplifies how OpaqueValueExprs are [de]serialized. The reader/writer automatically retains pointer equality of sub-statements (when a statement node is referenced in multiple nodes), so no need to manually handle it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145752 91177308-0d34-0410-b5e6-96231b3b80d8
ch-opaque-value.cpp
|
d977e6b0eb4c9b57b0aad6e9e0be39cc67b3a8c7 |
03-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix infinite loop when doing visitation of an OpaqueValueExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145751 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
dcbb2fb8710459fdc8073b76a4ef73fbbcbeac9f |
03-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Allow indexing/get-cursor/etc. for the exception variable in a C++ catch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145750 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
f8d34ed0d0933350323d9f7a8521011d73dc98d5 |
01-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
ParmVarDecls have no linkage. Previously we would report that parameters in type signatures have external linkage. Fixes rdar://10058317. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145551 91177308-0d34-0410-b5e6-96231b3b80d8
inkage.c
|
436bd50a3821c0f7a859af0e423d5c0a55159bf1 |
01-Dec-2011 |
Lang Hames <lhames@gmail.com> |
Test case for fix committed in r145441. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145534 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
c8d7f586180995ba33d03c0f6115b6a7bdefe326 |
29-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Revert r145244. It causes us to create broken ASTs with missing type information for some cast expressions. Original commit message: Removed useless ImplicitCast nodes in explicit cstyle and static casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145447 91177308-0d34-0410-b5e6-96231b3b80d8
reamble_macro_template.cpp
ecursive-cxx-member-calls.cpp
|
b8cb21c57e8248c741b5f81f2aeb3c2c0d569c81 |
29-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make the test portable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145377 91177308-0d34-0410-b5e6-96231b3b80d8
ile-macro-refs.c
|
b49e728a4d1a84b72f3aebf60ff494684f9cb004 |
29-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_findReferencesInFile also work on macros (find all expansions/definition of a macro in a file). As a bonus, also make searching for declarations more efficient by ignoring preprocessing entities when we know that we are looking for a declaration. Fixes rdar://10427411. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145369 91177308-0d34-0410-b5e6-96231b3b80d8
ile-macro-refs.c
|
56f5d36fd13c5e271ebd05192c25c88d28e77f8d |
28-Nov-2011 |
Nicola Gigante <nicola.gigante@gmail.com> |
Removed useless ImplicitCast nodes in explicit cstyle and static casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145244 91177308-0d34-0410-b5e6-96231b3b80d8
reamble_macro_template.cpp
ecursive-cxx-member-calls.cpp
|
bcf8df8a998b6ae01a217cdf2e3f70128ccb44ef |
23-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Check for isTopLevelDeclInObjCContainer when picking abbreviations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145110 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-toplevel-in-objccontainer.m
nnotate-toplevel-in-objccontainer.m.h
|
c14a03dffff69b5e1c55cc118fc52d8fd9f3a28d |
23-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix operations (token annotation, getting cursor, etc.) with a file region inside an objc container that "contains" other file-level declarations. When getting the array of file-level declarations that overlap with a file region, we failed to report that the region overlaps with an objc container, if the container had other file-level declarations declared lexically inside it. Fix this by marking such declarations as "isTopLevelDeclInObjCContainer" in the AST and handling them appropriately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145109 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-toplevel-in-objccontainer.m
nnotate-toplevel-in-objccontainer.m.h
|
03ee2dd9fc5d5fc62b5eb0fb88ee56e553f8cda7 |
16-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_annotateTokens use "file-targeted" deserialization and avoid unnecessary deserializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144792 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-annotation.c
|
e2079cf54ded1eda9e35d215aef6628373368276 |
16-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_findReferencesInFile use "file-targeted" deserialization and avoid unnecessary deserializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144791 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-file-refs.c
|
35593a9add85353532519f8eba5ec513a611aac5 |
16-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix crash on invalid code. Fixes rdar://10451854 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144766 91177308-0d34-0410-b5e6-96231b3b80d8
nvalid-code-rdar10451854.m
|
220b45c95edc0ea86cd157426e0edc7f6a288620 |
16-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] In lazyCreateDiags, recreate the diagnostic set if the number of diagnostics in the ASTUnit changed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144762 91177308-0d34-0410-b5e6-96231b3b80d8
rror-on-deserialized.c
|
590ad93bf59f4e5f6adcba0d78efc3a58cac15ce |
13-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos from the primary PCH is deserialized, otherwise we lose info that headers were already #imported/#included. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144510 91177308-0d34-0410-b5e6-96231b3b80d8
reamble-reparse-import.m
reamble-reparse-import.m-1.h
reamble-reparse-import.m-2.h
reamble-reparse-import.m-3.h
|
6ef920976a86aa710ccfeeeb7e14e9b38aef5007 |
09-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce proper spacing after the Objective-C parameter qualifiers (bycopy, inout, etc.). Fixes <rdar://problem/10402900>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144157 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
87429a05ff66fe6460eaa4855fd0da574e26bf7b |
09-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Fix reading from PCH of diagnostic pragmas. In certain cases ASTReader would call the normal DiagnosticsEngine API to initialize the state of diagnostic pragmas but DiagnosticsEngine would try to compare source locations leading to crash because the main FileID was not yet initialized. Yet another case of the ASTReader trying to use the normal APIs and inadvertently breaking invariants. Fix this by having the ASTReader set up the internal state directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144153 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/pragma_disable_warning.h
ragma-diag-reparse.c
|
21adcf3b5f4c748fbda7f276f75a33121cee6df1 |
07-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Add missing part of test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143985 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/reparse-instantiate.h
|
66e870029fdc1a36e79e62fd64430b527a318868 |
07-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
ASTConsumer::handleTopLevelDecl will end up getting called for function template instantiations. Fixes <rdar://problem/10398005> / PR11312. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143984 91177308-0d34-0410-b5e6-96231b3b80d8
eparse-instantiate.cpp
|
e6825d39e89362105171c013f4018c4d1134ad6f |
03-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix crash when a #pragma diagnostic is included in the preamble. A PCH file keeps track of #pragma diagnostics state; when loading the preamble, they conflicted with the #pragma diagnostic state already present in the DiagnosticsEngine object due to parsing the preamble. Fix this by clearing the state of the DiagnosticsEngine object. Fixes rdar://10363572 && http://llvm.org/PR11254. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143644 91177308-0d34-0410-b5e6-96231b3b80d8
ragma-diag-reparse.c
|
2c628646b8c0f5f285a38bf9a97900ee7e34e6c5 |
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Force test to use the non-fragile ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143642 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-ivar-access.m
|
ea0e4e8466cd57ddc24d89763e2b019b2d687752 |
03-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure pointing inside the #include of the fields will return the struct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143638 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.c
|
dc35aacba288b6ab5aff4db1244ecca63d1d7445 |
03-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add a test for "targeting" a field inside an #include that only contains fields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143636 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.c
|
f3c02869a7a50ebdc963d0456fd075368b5b5a3f |
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend IsSimplyAccessible to check for Objective-C instance variable accessibility. Fixes <rdar://problem/3727335>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143635 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-ivar-access.m
|
dfb332d0081c6641d1dbae6a2aeff757c99cc740 |
03-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Add infrastructure to be able to only deserialize decls in a file region and use it for clang_getCursor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143605 91177308-0d34-0410-b5e6-96231b3b80d8
argeted-cursor.c
argeted-fields.h
argeted-nested1.h
argeted-preamble.h
argeted-top.h
|
25270b6e6a8416b7532cfe552b41794418ea19b1 |
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Add a printing policy flag to suppress printing "<anonymous>::" prior to types. Enable this flag for code completion, where knowing whether something is in an anonymous or inline namespace is actually not useful, since you don't have to type it anyway. Fixes <rdar://problem/10208818>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143599 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-cxx-inline-methods.cpp
|
3dd0f76fd71593a18525ce22bd60485015a23fb2 |
03-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
Test code completion for constructor initializers within the class definition. This already worked; <rdar://problem/10208871>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143595 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-cxx-inline-methods.cpp
|
d4e7e22a917f73f27855534e4e0b5480b8003ce9 |
01-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix non-darwin buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143477 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
87ec9c257c99b4136af6c7f5be5a2d486906ba84 |
01-Nov-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For a class extension, give it a unique USR but for any property or ivar it contains give it a USR based on its semantic context, which is the interface. This follows what we already did for objc methods. rdar://10371669 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143464 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
2ce634dbb24c8325da0dd36479c3a68622660d72 |
27-Oct-2011 |
Ted Kremenek <kremenek@apple.com> |
Mark these tests as requiring use of the shell. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143150 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
rash-recovery-reparse.c
|
1872b3153a388b3a548c9f699cbc348128059be9 |
27-Oct-2011 |
Ted Kremenek <kremenek@apple.com> |
Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143115 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
rash-recovery-reparse.c
|
1b8fc01f169df844ea507308a5b71964d9b3c3f4 |
27-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Disalbe more Microsoft-specific stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143077 91177308-0d34-0410-b5e6-96231b3b80d8
edeclarations.cpp
|
29e627ad9679bd3aa274cbe464127fdaba6241ca |
26-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Try to appease the Windows builders git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143048 91177308-0d34-0410-b5e6-96231b3b80d8
edeclarations.cpp
|
d488b3a046c09f88bc3cbd79bb4df84e43a238bc |
26-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Eliminate a hang while loading a sequence of redeclarable entities. In essence, the redeclaration chain for a class could end up in an inconsistent state while deserializing multiple declarations in that chain, where the circular linked list was not, in fact, circular. Since only two redeclarations of the same entity will get loaded when we're in this state, restore circularity when both have been loaded. Fixes <rdar://problem/10324940> / PR11195. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143037 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/redeclarations.h
edeclarations.cpp
|
fd08009cba191ea35bc7e299a55edd0d5f81a8f2 |
25-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Turn off delayed template parsing for this test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142951 91177308-0d34-0410-b5e6-96231b3b80d8
s-if-exists.cpp
|
ba0513de93d2fab6db5ab30b6927209fcc883078 |
25-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for dependent Microsoft __if_exists/__if_not_exists statements. As noted in the documentation for the AST node, the semantics of __if_exists/__if_not_exists are somewhat different from the way Visual C++ implements them, because our parsed-template representation can't accommodate VC++ semantics without serious contortions. Hopefully this implementation is "good enough". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142901 91177308-0d34-0410-b5e6-96231b3b80d8
s-if-exists.cpp
|
ab795d65230c87890f99ac5c2b2f455c63099e00 |
19-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Tweak this test to test more directly what we want, and hopefully work around the brokenness of code completion under -fdelayed-template-parsing git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142472 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
fa43c97297d8d76b66c5cb1c37f7785db9e1ee17 |
18-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Minor tweak to test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142427 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
8ca7208d0fb4dcbc5fa8cfeca6a1081ce69da8e0 |
18-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Provide result types for code completions that describe built-in expressions (this, sizeof, etc.). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142424 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
omplete-declarators.m
omplete-exprs.c
omplete-exprs.cpp
omplete-exprs.m
omplete-recovery.m
omplete-type-factors.m
|
46d1ea40d77aa66527cc48183750710b55d74914 |
18-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Since an objc extension semantically continues the interface of the class don't use unique USRs for them, otherwise we fail to associate @implementation methods with the methods in extensions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142361 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
a50216cdd5c4102b051d5837c239ec0bb5bde6e5 |
18-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Add code completions for C++0x expressions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142357 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
ee1c68a0d9de322424b368b9e6dc58fa3daefceb |
18-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Don't format the code completion for parameters of block literal arguments as block literal arguments; the block literal argument code completion should only go one level deep. Fixes <rdar://problem/10291294>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142335 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
c35cba4a54106117a52b267c7040b3bea9a4d18e |
17-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Fixed merge-mistake where ActOnAccessSpecifier was called twice for every access specifier. The testcase has been changed to catch this too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142186 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-attribute.cpp
|
6164ea1d75385b6fc3c19e5ab9bb686298436a5a |
14-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations to retrieve annotations from completion string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141953 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-with-annotations.cpp
|
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 |
14-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update all tests other than Driver/std.cpp to use -std=c++11 rather than -std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
n-class-init.cpp
srs-cxx0x.cpp
|
5f1c822def3efffe1d8f7299fbbbc3b1cdd4833d |
13-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Allow for annotate attributes after access specifiers. When such attributes are found, propagate them to subsequent declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141861 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-attribute.cpp
|
b008012426d1b9b1ba401ad7bebf4d65bd469b92 |
11-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Don't crash in Sema::IsSimplyAccessible if the declaration is not a C++ class member. Fixes PR11108. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141600 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-qualified.cpp
|
d12059673dcef32bc2b6bae5321654d33863afe6 |
06-Oct-2011 |
Erik Verbruggen <erikjv@me.com> |
Added CXAvailability_NotAccessible to indicate that a declaration is available, but not accessible from the current code completion context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141278 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-access-checks.cpp
|
aed123ec3cc37e457fe20a6158fdadf8849ad916 |
06-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file, and a callback and finds all identifier references of the cursor in the file. rdar://7948304 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141277 91177308-0d34-0410-b5e6-96231b3b80d8
ile-refs.c
ile-refs.cpp
ile-refs.m
|
42b2984771a7fd1b17c78bbb2c59fed3db2f1960 |
05-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Expose more statement, expression, and declaration kinds in libclang, from Manuel Holtgrewe! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141200 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
nnotate-nested-name-specifier.cpp
nnotate-tokens-cxx0x.cpp
nnotate-tokens-pp.c
nnotate-tokens-preamble.c
nnotate-tokens-with-default-args.cpp
nnotate-tokens.c
nnotate-tokens.cpp
nnotate-tokens.m
locks.c
-index-api-loadTU-test.m
-index-getCursor-test.m
ursor-ref-names.cpp
ndex-templates.cpp
oad-stmts.cpp
ocal-symbols.m
ested-binaryoperators.cpp
reamble.c
reamble_macro_template.cpp
rint-typekind.c
ecursive-cxx-member-calls.cpp
ecursive-member-access.c
emap-load.c
srs.m
|
1711fc91efb36d131f7ba771f73f0154dc1abd1f |
04-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Improve location fidelity of objc decls. -Add the location of the class name to all objc container decls, not just ObjCInterfaceDecl. -Make objc decls consistent with the rest of the NamedDecls and have getLocation() point to the class name, not the location of '@'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141061 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
-index-api-loadTU-test.m
-index-getCursor-test.m
ocal-symbols.m
roperties-class-extensions.m
srs.m
|
f87cced71a955dca5731e7b28bc182e4824c0355 |
03-Oct-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Propagate __attribute__((returns_twice)) from C to IL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141002 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
80d2355df4a87b52412cc7481496c4a4eccd3db1 |
02-Oct-2011 |
John McCall <rjmccall@apple.com> |
Sorry, I misunderstood the interaction here; the GNU runtime does support both a fragile and non-fragile ABI, and it can be selected at runtime. That driver option also works on Darwin (although obviously the code is not necessarily usable if the system runtime is fragile) so just do that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140973 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
591dbc7b0c0b1fcfccb9256e6d71d57a0ba967c1 |
02-Oct-2011 |
John McCall <rjmccall@apple.com> |
Use -fgnu-runtime to force the use of the non-fragile ABI; otherwise these tests would fail on hosts that happen to default to that, since that affects whether default synthesis can happen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140970 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
4768b9c7712ca1442bb7a565fedd16adce55cbd9 |
02-Oct-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Temporarily XFAIL this test until John or someone else who works on ObjC can look at it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140968 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
d1e40d5389a4382cbebc97d54792f41ee0414af4 |
02-Oct-2011 |
John McCall <rjmccall@apple.com> |
Make -fobjc-nonfragile-abi the -cc1 default, since it's the increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140957 91177308-0d34-0410-b5e6-96231b3b80d8
estClassForwardDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
|
2dfdb948bef51a601e763191e4becfe59880d382 |
30-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Introduce CXCursor_CXXAccessSpecifier for C++'s public:/private:/protected: specifiers. Patch by Paolo Capriotti! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140864 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
2f041d0b12aa87f3345e5fb2e38fefba30c5bff3 |
29-Sep-2011 |
Ted Kremenek <kremenek@apple.com> |
Like IBOutletCollection, it only makes sense to apply the IBOutlet annotation to Objective-C object types. Fixes <rdar://problem/10142685>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140778 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
d2ee809f9e7c2c7a83b8918efa11e98863463f78 |
28-Sep-2011 |
Ted Kremenek <kremenek@apple.com> |
Include prefix with default synthesized ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140657 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
30c42404202d2e2512e51efc6066bd614cfdb5a4 |
28-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When 'bool' is not a built-in type but is defined as a macro, print 'bool' rather than '_Bool' within types, to make things a bit more readable. Fixes <rdar://problem/10063263>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140650 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
5f0bfc522266f3319c4a6262b016a552de058c7f |
27-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Expose array size and element type, patch by Vinay Sajip! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140614 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
65ab90736ede3932b26848e39c64396c47f2941b |
26-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Report implicit objc methods for properties when indexing. Related to rdar://10087069. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140551 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
roperties-class-extensions.m
srs.m
|
ee0f84fc84ed7de7975e102668d8e53a778f7a8c |
26-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't map a file:line:col triplet that is inside the preamble range to a "loaded" location of the precompiled preamble. Instead, handle specially locations of preprocessed entities: -When looking up for preprocessed entities, map main file locations inside the preamble range to a preamble loaded location. -When getting the source range of a preprocessing cursor, map preamble loaded locations back to main file locations. Fixes rdar://10175093 & http://llvm.org/PR10999 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140519 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
nnotate-tokens-preamble.c
|
2502efd26196d5bbc1f320181aea765d469309b4 |
21-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When pointing at a macro expansion inside a macro argument, return a cursor for the inner macro. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140207 91177308-0d34-0410-b5e6-96231b3b80d8
etcursor-pp-pch.c
etcursor-pp-pch.c.h
|
50402470f07f720c509c8797f40a106a0d4af6a7 |
19-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For SourceManager::isBeforeInTranslationUnit, a location pointing inside a macro argument should be regarded as coming before the location of the expanded tokens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140053 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
e24692b30adbe8144597678a0e3354912e99c747 |
15-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Overhaul how preprocessed entities are [de]serialized. -Use an array of offsets for all preprocessed entities -Get rid of the separate array of offsets for just macro definitions; for references to macro definitions use an index inside the preprocessed entities array. -Deserialize each preprocessed entity lazily, at first request; not in bulk. Paves the way for binary searching of preprocessed entities that will offer efficiency and will simplify things on the libclang side a lot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139809 91177308-0d34-0410-b5e6-96231b3b80d8
etcursor-pp-pch.c
etcursor-pp-pch.c.h
|
221d5a5005b3dbde50b8b0a40bb5c5e6da8c1173 |
13-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Correct annotation and taking of cursor for objc class references inside the IBOutletCollection attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139621 91177308-0d34-0410-b5e6-96231b3b80d8
BOutletCollection.m
|
6639e9255489ad8e10278d5658fdd4b3c0e1e4cd |
13-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] -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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139609 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-context-sensitive.cpp
|
c2954616fbd11f5a6117236f58420029b773a639 |
13-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] For getDeclFromExpr in CIndex.cpp, associate the decl of a DeclRefExpr, MemberExpr, etc. with a CastExpr if it is ImplicitCast, since the implicit cast is the one that is invisible in source code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139547 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
nnotate-tokens.m
locks.c
-index-api-loadTU-test.m
-index-getCursor-test.m
oad-stmts.cpp
ecursive-cxx-member-calls.cpp
|
26d43cd3a088d4f1f1645328db3b73afbc7eaa61 |
12-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of modifying directly for the preamble. This avoids an awful, hard to find, bug where "PreprocessorOpts.DisablePCHValidation = true" would be persistent for subsequent reparses of the translation unit which would result in defines, present in command-line but not in the PCH, being ignored. Fixes rdar://9615399. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139512 91177308-0d34-0410-b5e6-96231b3b80d8
reamble-reparse-cmd-define.c
reamble-reparse-cmd-define.c.h
reamble-reparse-cmd-define.c.remap
|
08e0bc16b3312c27e87d33be7dcf3d4fe5bdd2e2 |
10-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Kill of the Decl::PCHLevel field entirely. We now only need to know whether a Decl was deserialized from an AST file (any AST file). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139438 91177308-0d34-0410-b5e6-96231b3b80d8
-index-pch.c
|
8f7c540ac42370c40ebcdc4b69018c938faf94ec |
08-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix annotation and getting a "macro expansion" cursor for a builtin macro expansion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139298 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
-index-getCursor-pp.c
|
8e85e85b8c3dbbc7e9863fe88f0992d825fd0e32 |
04-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Handle a code-completion token being passed to the macro stringify operator. Fixes http://llvm.org/PR10826. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139087 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-in-stringify.c
|
7d100872341f233c81e1d7b72b40457e62c36862 |
04-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Support code-completion for C++ inline methods and ObjC buffering methods. Previously we would cut off the source file buffer at the code-completion point; this impeded code-completion inside C++ inline methods and, recently, with buffering ObjC methods. Have the code-completion inserted into the source buffer so that it can be buffered along with a method body. When we actually hit the code-completion point the cut-off lexing or parsing. Fixes rdar://10056932&8319466 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139086 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
omplete-cxx-inline-methods.cpp
omplete-declarators.m
omplete-exprs.m
omplete-objc-message-id.m
omplete-objc-message.m
omplete-recovery.m
omplete-super.m
omplete-synthesized.m
|
8efcc0184a6dfe1ea799d3a6b9c1312ef1fac11d |
01-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Enable -fdelayed-template-parsing by default on Win32. I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138942 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
nnotate-tokens-cxx0x.cpp
ndex-templates.cpp
oad-stmts.cpp
reamble_macro_template.cpp
|
140ab234c23f392d5422691c5de1ee3c15026def |
31-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c - This patch buffers method implementations and does the Sema on their body after the entire class/category @implementation is seen. This change allows messaging of forward private methods, as well as, access to synthesized ivars of properties with foward synthesize declarations; among others. In effect, this patch removes several restrictions placed on objective-c due to in-place semantics processing of methods. This is part of // rdar://8843851. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138865 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
omplete-declarators.m
omplete-exprs.m
omplete-objc-message-id.m
omplete-objc-message.m
omplete-recovery.m
omplete-super.m
omplete-synthesized.m
|
6f155de99c59af890817146ec8526bafb6560f1f |
26-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Fix getting a cursor that points inside tag definition that is part 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138593 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.c
srs.m
|
a28948f34817476d02412fa204cae038e228c827 |
22-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Restore patch I reversed in r138040. Known buildbot failures are resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138234 91177308-0d34-0410-b5e6-96231b3b80d8
dar-8288645-invalid-code.mm
|
e6f07f538fd0eddd6c087fcc01d4e4ff19129c71 |
19-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Revers r138040. Need to look at a few buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138049 91177308-0d34-0410-b5e6-96231b3b80d8
dar-8288645-invalid-code.mm
|
3dbf2f5f00cfc8b25318c119c0d39f4a49d15ebe |
19-Aug-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c: Bring objective-c handling of decl context to modernity. Instead of passing down individual context objects from parser to sema, establish decl context in parser and have sema access current context as needed. I still need to take of Doug's comment for minor cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138040 91177308-0d34-0410-b5e6-96231b3b80d8
dar-8288645-invalid-code.mm
|
5c5f03e4020e90b9760ec547962ba02b029cc359 |
18-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Support code-completion inside macro arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137973 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macro-args.c
|
a676379b26edc959193f9f919ba9c6d296a57824 |
18-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Annotate correctly macro argument tokens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137961 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-macro-args.h
nnotate-macro-args.m
nnotate-tokens-pp.c
|
1b2d53647dda5e4a70cea54ec3bedbf167081120 |
18-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For the MacroExpands preprocessor callback, also pass the SourceRange of expansion (for function macros it includes the right paren). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137909 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
ested-macro-instantiations.cpp
|
75cf3e86d33ce810c12084126385371b335c30ba |
17-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Mark objc methods that are implicitly declared for properties (not user-declared) as implicit. This results in libclang ignoring such methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137852 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
et-cursor.m
roperties-class-extensions.m
srs.m
|
4b43b305342ae2e49d473d0fa6152e5d0c343765 |
17-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make clang_getCursor able to handle locations that point inside 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137796 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor-macro-args.h
et-cursor-macro-args.m
|
2799c715fb9e90a7ceb759752f8ca114fd1b8649 |
16-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix tests for non-darwin hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137688 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
et-cursor.m
|
427964e15f1b9595659cea3fcb4dd808a00f37b5 |
16-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Require explicit cursor visitation for all TypeLocs (compilation will fail if a TypeLoc kind is not handled) and handle DecltypeTypeLoc and InjectedClassNameTypeLoc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137670 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
ecursive-cxx-member-calls.cpp
|
6db629e09a76676f872d86285e68a29eb8a6f131 |
15-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix the buildbot test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137660 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
3422fbc38f35d9e486879850c5bf0175bd2eee16 |
15-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Handle AttributedTypeLoc for cursor visitation. Fixes rdar://9535717. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137634 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
et-cursor.m
|
8a4bfaa04bb9db98468d0b1d143819222332393f |
10-Aug-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When pointing at an objc property don't return a cursor that points at the synthesized method for the property. rdar://9771715 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137248 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.m
|
d330e23f183cedb9e6c1cbb809407576f7bbab71 |
05-Aug-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed FieldDecl source range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136963 91177308-0d34-0410-b5e6-96231b3b80d8
n-class-init.cpp
|
8fa0a80b4482ad94e82c4a19e23de17fd69140b5 |
04-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Add a new libclang API to return a CXCompletionString for an arbitrary cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136911 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
0bfe83b5a98ce37bf3a10274bca6f93ca4cb9696 |
30-Jul-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Annotation of parameters that got default args from a previous declarations was broken because the end location of the parameter was the end location of the default arg, resulting in a source range that could begin in one file and end in another. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136572 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-with-default-args.cpp
nnotate-tokens-with-default-args.h
|
d2d8be6a27d0ef73d46039604682f7890e1cc3e0 |
30-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add code completion to produce "else" blocks after an "if" statement. Fixes <rdar://problem/9229438>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136564 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-stmt.c
|
e42447021239015db97202fb04c304d82e84135f |
30-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
When producing code completion results for variadic macros, fold the variadic bit (", ..." or ", args...") into the prior placeholder, like we do with functions and methods. Fixes <rdar://problem/9740808>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136563 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
6fa14dde4ce536c4b09f9b52cad5471682ec6fd3 |
30-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add the various parameter-passing keywords for Distributed Objects (such as in, inout, byref, and oneway) to code completion results. Fixes <rdar://problem/8844158>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136562 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
0f91c8ccb398be2bd40dc402309bd79737542396 |
30-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
When performing code completion after at @interface, allow both already-defined and forward-declared results. Already-defined results are fine because they could be the start of a category. Fixes <rdar://problem/9811691>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136559 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-interfaces.m
|
0a47d69af8bda945352997af3da4687a3356096a |
26-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Add new libclang API, clang_codeCompleteGetObjCSelector(), which provides the partial Objective-C selector used in a code completion. From Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136084 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
430d7a1a621a126a9ffe442ad8987ba02b46dae9 |
25-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Added clang_getCursorReferenceNameRange to libclang to to retrieve parts of a cursor reference, from Erik Verbruggen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135920 91177308-0d34-0410-b5e6-96231b3b80d8
locks.c
ursor-ref-names.cpp
ndex-templates.cpp
ecursive-cxx-member-calls.cpp
ecursive-member-access.c
|
e081a61bb0dc546fd623bf259435d17c9a4ea0d5 |
21-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
New libclang API to expose container type for code completion, from Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135651 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-member-access.m
omplete-objc-message.m
|
f62d43d2afe1960755a1b5813cae1e5983bcac1b |
19-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Revamp the SourceManager to separate the representation of parsed 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135484 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/preamble_macro_template.h
reamble_macro_template.cpp
|
91ae6b43b3a294243698cdb544dd7a18efa4c7a8 |
15-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
When creating a property in a class extension, make sure to check its attributes. Fixes <rdar://problem/9561076>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135273 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
9b2a0ac970a077bdc0bf08c6c682f80ad733c892 |
14-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Update all of the libclang code corresponding to the preprocessor MacroInstantiation -> MacroExpansion rename. Internally, everything is switched. Introduce a new cursor kind enum with the new name, but retain the old name as an alias so that we don't break backwards compatibility. Also update the debug printing routine to use 'macro expansions' as its explicitly not guaranteed to be stable, and mechanically switch the test cases over to that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135140 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
nnotate-tokens.m
-index-getCursor-pp.c
-index-getCursor-test.m
ested-macro-instantiations.cpp
|
3da626b4f38eb0350de960d71271ca77af7a9cc8 |
07-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang aPI function, clang_codeCompleteGetContexts(), that provides the client with information about the context in which code completion has occurred and what kinds of entities make sense as completions at that point. Patch by Connor Wakamo! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134615 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-natural.m
|
85bea9777d444ccbcc086d98f075fe666c2e865d |
06-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Keep track of when "unrecoverable" errors occur, then allow clang_saveTranslationUnit() to save a PCH file if the only errors it contains are recoverable errors. Fixes <rdar://problem/9727804>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134503 91177308-0d34-0410-b5e6-96231b3b80d8
error.c
|
064c44b8a17d4c426b87ad1c58de81d76a13fca3 |
27-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Avoid having the cursor of an expression replace the declaration cursor when the expression source range overlaps the declaration range. This can happen for C++ constructor expressions whose range generally include the variable declaration, e.g.: MyCXXClass foo; // Make sure pointing at 'foo' returns a VarDecl cursor. rdar://9124499. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133930 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
5517b89953e3c9276f161ce29831de388bb2573d |
27-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Avoid having the cursor of an expression "overwrite" the annotation of the variable declaration that it belongs to. This can happen for C++ constructor expressions whose range generally include the variable declaration, e.g.: MyCXXClass foo; // Make sure we don't annotate 'foo' as a CallExpr cursor. rdar://9124499. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133929 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
f85e193739c953358c865005855253af4f68a497 |
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
rc-annotate.m
rc-complete.m
omplete-exprs.m
omplete-property-flags.m
|
85269fcfc8639d7137b1c574c4825f4678ce245b |
13-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Update Indexer test for new 'atomic' keyword. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132918 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
27f45236005d9dd2bbbfeb1682eb349cb8b6998b |
11-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Add code completetion code for the new 'atomic' attribute keyword in objc property decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132877 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-flags.m
|
352697a87bca664356f21a838b162084013625ea |
04-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Expose @synthesize and @dynamic via their own cursor kinds in libclang. Fixes <rdar://problem/9537904>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132603 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
roperties-class-extensions.m
srs.m
|
3f828d1710df819c1dd84c4782166b10f8d18b56 |
02-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Tweak code completions for Objective-C Key-Value Observing. The +keyPathsForValuesAffecting<Key> completion was mislabeled as an instance method, and +automaticallyNotifiesObserversOf<Key> was missing entirely. Fixes <rdar://problem/9516762>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132452 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-kvc.m
|
b83d4d7071cea43a3f7b8afc3cda6203c345aa0f |
13-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Add c-index-test printing and tests for static and virtual method query functions, from Erik Verbruggen! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131295 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-context-sensitive.cpp
verrides.cpp
ecursive-cxx-member-calls.cpp
|
dca8ee8b7bc86076916a3a80f553f7a4e98c14af |
06-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang parsing flag, CXTranslationUnit_NestedMacroInstantiations, which indicates whether we want to see "nested" macro instantiations (e.g., those that occur inside other macro instantiations) within the detailed preprocessing record. Many clients (e.g., those that only care about visible tokens) don't care about this information, and in code that uses preprocessor metaprogramming, this information can have a very high cost. Addresses <rdar://problem/9389320>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130990 91177308-0d34-0410-b5e6-96231b3b80d8
ested-macro-instantiations.cpp
|
4b81cde48b8b56c219e8d665884f5f33139b5eca |
05-May-2011 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions for an Objective-C property access, also include methods with zero-argument selectors. Implements <rdar://problem/9048332>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130922 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-member-access.m
|
e74c25c5c0375004bd84945bda53c3a96f443da8 |
05-May-2011 |
Douglas Gregor <dgregor@apple.com> |
When adding KVC code completions, keep track of all of the selectors that we've previously seen, both in declared methods and from previous KVC completions, to eliminate duplicates. Fixes <rdar://problem/9162207>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130890 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-kvc.m
|
dd3e5549e3c11e217078938aacf72f042eea5343 |
04-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang API, clang_isFileMultipleIncludeGuarded(), which determines whether a particular file is actually a header that is intended to be guarded from multiple inclusions within the same translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130808 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/guarded.h
nputs/pragma-once.h
nnotate-tokens-pp.c
|
1d8052db5a38b62ba5f3802160dcccd87fa0b5b8 |
03-May-2011 |
Ted Kremenek <kremenek@apple.com> |
Use the canonical decl when generating the locations for USRs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130748 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
960d13dde337a59dacc9dc3936c26d4aa8478986 |
01-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Based on the new information in the AST provided by r130628, write 3 lines of code and improve a bunch of information in the libclang view of the code. Updates the two tests that exercise this with the new data, checking that each new source location actually points back to the declared template parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130656 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
f8b1771677743d24c7391305cad8853c513ec0f8 |
28-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't waste memory if the initializer expression is empty. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130420 91177308-0d34-0410-b5e6-96231b3b80d8
nitializer-memory.cpp
|
64089cece350472c04b420c497ae391443353325 |
23-Apr-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes an instance method meta-data generation bug in ObjC NeXt runtime where method pointer registered in metadata belongs to an unrelated method. Ast part of this fix, I turned at @end missing warning (for class implementations) into an error as we can never be sure that meta-data being generated is correct. // rdar://9072317 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130019 91177308-0d34-0410-b5e6-96231b3b80d8
dar-8288645-invalid-code.mm
|
4423ac0282acb8ba801eb05b38712438dc0c1e3e |
21-Apr-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For double data[20000000] = {0}; we would blow out the memory by creating 20M Exprs to fill out the initializer. To fix this, if the initializer list initializes an array with more elements than there are initializers in the list, have InitListExpr store a single 'ArrayFiller' expression that specifies an expression to be used for value initialization of the rest of the elements. Fixes rdar://9275920. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129896 91177308-0d34-0410-b5e6-96231b3b80d8
nitializer-memory.cpp
|
ffcd985dcbff204108f37dea5b9fe4e6709e965d |
20-Apr-2011 |
Douglas Gregor <dgregor@apple.com> |
When translating a Clang source range into a libclang source range, adjust the a ending macro location to the end of the instantiation location before adjusting it to the end of the token. Fixes <rdar://problem/9021561>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129872 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
e84260513dc9fc17904c30c9400c5862a2d7fcb8 |
18-Apr-2011 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions of ivar names for a property implementation such as @synthesize Prop1 = Give priority to ivars whose type matches or closely matches the property type (as we do for several other kinds of results). Additionally, if there is an ivar with the same name as the property, or differs only due to a _ prefix or suffix, give that ivar a priority bump. Finally, verify that this search is properly returning ivars within class extensions and implementations (<rdar://problem/8488854>). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129699 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
aa490cb6a70e7ff0335bdc4c88619e00ff0dab25 |
18-Apr-2011 |
Douglas Gregor <dgregor@apple.com> |
When producing code completion results for the Objective-C property implementation @synthesize <property> = also produce a completion for a to-be-synthesized ivar named _<property>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129697 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
3e64d56185f0bf7dbd536c1b3ecbc853c22a9184 |
14-Apr-2011 |
Douglas Gregor <dgregor@apple.com> |
When determining the "usage" type of a declaration for the purposes of code completion, look through block pointer and function pointer types to the result type of the block/function. Fixes <rdar://problem/9282583>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129535 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
d7650610b39947ad8ea8273e7e5099894f71bb08 |
02-Apr-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Apply a bug-fix patch from Marcin Kowalczyk to the source locations for a couple of operator overloads which form interesting expressions in the AST. I added test cases for both bugs with the c-index-test's token annotation feature. Also, thanks to John McCall for confirming that this is the correct solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128768 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
dc0a2da1038cc725ad23d070e6a0d03078b7300d |
26-Mar-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For Diagnostic::Reset() also reset the state related to #pragma diagnostic. Fixes rdar://9170766. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128346 91177308-0d34-0410-b5e6-96231b3b80d8
ragma-diag-reparse.c
|
04a9eb3f0dfcc42b317057e236f73e9b196a2ff8 |
17-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
When libclang visits a translation unit via clang_visitChildren(), walk the preprocessing record *before* walking the declarations, so they we pretend that we actually respect the phases of translation. We still walk the preprocessing record after the declarations when performing token annotation or finding the cursor at a location, since those routines depend on those semantics. Fixes <rdar://problem/9137195>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127776 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
0daaf32723ac78549c507c2a68a5300502703673 |
16-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Use ElaboratedType also for C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127755 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
nnotate-tokens.c
ecursive-member-access.c
|
37c2e9664316b013b9a86f841f143f19ffbc0a02 |
16-Mar-2011 |
Ted Kremenek <kremenek@apple.com> |
c-index-test shouldn't crash when a goto has no matching label. Fixes <rdar://problem/9123493>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127711 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
3deeb6deaed56f28baa32296b10e259cb3e4127b |
12-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed type and declaration source range in presence of typeQuals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127535 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
f52516038ab5d0b1b90a6dd32f46b7d6dabd04c8 |
08-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang's token-annotation logic about context-sensitive keywords for Objective-C+ and C++0x. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127253 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-context-sensitive.cpp
nnotate-tokens.m
|
a2026c96d3935e7909e049ad9096762844544ed6 |
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for StaticAssertDecl and LinkageSpecDecl. Fixed source range for declarations using postfix types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127251 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
-index-getCursor-test.m
ecursive-cxx-member-calls.cpp
|
acba90f30876b4140b738f0d3dd0e50724053a96 |
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed NamespaceDecl source range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127242 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
ecursive-cxx-member-calls.cpp
srs.cpp
|
ff676cb48fe8bf7be2feaa251dc7c5fb15af4730 |
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for all DeclaratorDecl's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127225 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
locks.c
-index-api-loadTU-test.m
-index-getCursor-test.m
ndex-templates.cpp
nvalid-rdar-8236270.cpp
oad-classes.cpp
oad-exprs.c
oad-namespaces.cpp
oad-stmts.cpp
ocal-symbols.m
ested-binaryoperators.cpp
verrides.cpp
reamble.c
ecursive-cxx-member-calls.cpp
ecursive-member-access.c
emap-load.c
srs-cxx0x.cpp
srs.cpp
srs.m
|
344577e6b58f42d18dc8118c8903b49a85dc005e |
06-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed TypedefDecl and TemplateTypeParameter source range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127119 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
ndex-templates.cpp
oad-exprs.c
oad-stmts.cpp
ested-binaryoperators.cpp
reamble-reparse-chained.c
ecursive-cxx-member-calls.cpp
srs.cpp
srs.m
|
4a85a73466bfb541cd9c7b57a99292a0b6900b9b |
04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for ClassTemplateSpecializationDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126999 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
77d4ee2bfc90b77ec8b818de985cd4aceeef757b |
04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Improved TemplateTypeParmDecl end location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126996 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
ecursive-cxx-member-calls.cpp
|
ee4bfd412db491c489fc2ee74916edd73f9c618a |
04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed end location of NonTypeTemplateParamDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126994 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
159c0a099f980e76096df2d7ffb70dd061c1dc3b |
03-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Finish updated test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126948 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
0f0ea2a96534c615ff5fdd81363989b23cf2164a |
03-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Eliminate redundant nested-name-specifiers on TemplateSpecializationTypes, which also fixes PR9388. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126946 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
5f6bcbebedb85ee745cbd9a3ca51ca8c766a6117 |
03-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed end source location for LinkageSpecDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126943 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
0a9beb52baa6c990d45d638a177d9456e650282a |
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Force CaseStmt to store its child statements in source-code order, which is important for libclang's token-annotation and where's-my-cursor functionality. Fixes <rdar://problem/9004439>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126887 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
75e85048e73fcde2ce9d8a48dfdb1220e132eb59 |
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Fix the source range for a member access expression that includes a nested-name-specifier and improve the detection of implicit 'this' bases. Fixes <rdar://problem/8750392>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126880 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
c314aa484524c6a310a51e7b83bc194774e95e90 |
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang how to visit the children of a C++ base-class specifier (i.e., the TypeLoc describing the base class type). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126861 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
b6744efecba58792cce20d2d7b9ee39927c5422e |
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into template template arguments. I believe that this is the last place in the AST where we were storing a source range for a nested-name-specifier rather than a proper nested-name-specifier location structure. (Yay!) There is still a lot of cleanup to do in the TreeTransform, which doesn't take advantage of nested-name-specifiers with source-location information everywhere it could. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126844 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
059101f922de6eb765601459925f4c8914420b23 |
02-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source-location information into dependent template specialization types. This also required some parser tweaks, since we were losing track of the nested-name-specifier's source location information in several places in the parser. Other notable changes this required: - Sema::ActOnTagTemplateIdType now type-checks and forms the appropriate type nodes (+ source-location information) for an elaborated-type-specifier ending in a template-id. Previously, we used a combination of ActOnTemplateIdType and ActOnTagTemplateIdType that resulted in an ElaboratedType wrapped around a DependentTemplateSpecializationType, which duplicated the keyword ("class", "struct", etc.) and nested-name-specifier storage. - Sema::ActOnTemplateIdType now gets a nested-name-specifier, which it places into the returned type-source location information. - Sema::ActOnDependentTag now creates types with source-location information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126808 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
94fdffa4a572fc14ac296f5f1aae9db3734c72f1 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source-location information into dependent template specialization types. There are still a few rough edges to clean up with some of the parser actions dropping nested-name-specifiers too early. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126776 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
9e876876afc13aa671cc11a17c19907c599b9ab9 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Reinstate the introduction of source-location information for nested-name-speciciers within elaborated type names, e.g., enum clang::NestedNameSpecifier::SpecifierKind Fixes in this iteration include: (1) Compute the type-source range properly for a dependent template specialization type that starts with "template template-id ::", as in a member access expression dep->template f<T>::f() This is a latent bug I triggered with this change (because now we're checking the computed source ranges for dependent template specialization types). But the real problem was... (2) Make sure to set the qualifier range on a dependent template specialization type appropriately. This will go away once we push nested-name-specifier locations into dependent template specialization types, but it was the source of the valgrind errors on the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126765 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
2786864406af0f3ec65b300675c6f3c809c22fd7 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Revert r126748, my second attempt at nested-name-specifier source location information for elaborated types. *sigh* git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126753 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
be38c5f5d8fa7c43c52fafddee054b8fe8c2b964 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Reinstate r126737, extending the generation of type-source location information for qualifier type names throughout the parser to address several problems. The commit message from r126737: Push nested-name-specifier source location information into elaborated name types, e.g., "enum clang::NestedNameSpecifier::SpecifierKind". Aside from the normal changes, this also required some tweaks to the parser. Essentially, when we're looking at a type name (via getTypeName()) specifically for the purpose of creating an annotation token, we pass down the flag that asks for full type-source location information to be stored within the returned type. That way, we retain source-location information involving nested-name-specifiers rather than trying to reconstruct that information later, long after it's been lost in the parser. With this change, test/Index/recursive-cxx-member-calls.cpp is showing much improved results again, since that code has lots of nested-name-specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126748 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
44cd9f9d686dfdb9ad16113c41c2dca1da35a646 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Revert r126737, the most recent nested-name-specifier location change, for buildbot breakage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126746 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
239cbb023c8da689e7722f7146914eed9755e368 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into elaborated name types, e.g., "enum clang::NestedNameSpecifier::SpecifierKind". Aside from the normal changes, this also required some tweaks to the parser. Essentially, when we're looking at a type name (via getTypeName()) specifically for the purpose of creating an annotation token, we pass down the flag that asks for full type-source location information to be stored within the returned type. That way, we retain source-location information involving nested-name-specifiers rather than trying to reconstruct that information later, long after it's been lost in the parser. With this change, test/Index/recursive-cxx-member-calls.cpp is showing much improved results again, since that code has lots of nested-name-specifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126737 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
2494dd024b392b8def58bf067cc94b51c214cf77 |
01-Mar-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into DependentNameTypeLoc. Teach the recursive AST visitor and libclang how to walk DependentNameTypeLoc nodes. Also, teach libclang about TypedefDecl source ranges, so that we get those. The massive churn in test/Index/recursive-cxx-member-calls.cpp is a good thing: we're annotating a lot more of this test correctly now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126729 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
ecursive-cxx-member-calls.cpp
|
40d96a69c0e1e8c10f92d450c305a7aae696ca9c |
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier location information into DeclRefExpr and MemberExpr, the last of the expressions with qualifiers! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126688 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
4c9be89bb615ec07eb3ed507c8fa9d0baa8a5ad7 |
28-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into UnresolvedLookupExpr and UnresolvedMemberExpr. Also, improve the computation that checks whether the base of a member expression (either unresolved or dependent-scoped) is implicit. The previous check didn't cover all of the cases we use in our representation, which threw off source-location information for these expressions (which, in turn, caused some breakage in libclang's token annotation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126681 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
f3db29fff6a583ecda823cf909ab7737d8d30129 |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source-location information into pseudo-destructor expressions. Also, clean up some template-instantiation and type-checking issues with pseudo-destructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126498 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
0cfaf6a270ecd0f5c7e541a8047c87948317548b |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into namespace aliases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126496 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
db9924191092b4d426cc066637d81698211846aa |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Push nested-name-specifier source location information into using directives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126489 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
a8eef310e3f7dce7038375e771561736386190fd |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Direct testing of source-location information on using declarations, via libclang git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126487 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
c22b5fff39a7520207f165fb16a27a34b944bd9c |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Use NestedNameSpecifierLoc within out-of-line variables, function, and tag definitions. Also, add support for template instantiation of NestedNameSpecifierLocs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126470 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
dc355713be51fcb4ee52d9fd6b4548ceff47fadf |
25-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Update UsingDecl, UnresolvedUsingTypenameDecl, and UnresolvedUsingValueDecl to use NestedNameSpecifierLoc rather than the extremely-lossy NestedNameSpecifier/SourceRange pair it used to use, improving source-location information. Various infrastructure updates to support NestedNameSpecifierLoc: - AST/PCH (de-)serialization - Recursive AST visitor - libclang traversal (including the first tests of this functionality) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126459 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-nested-name-specifier.cpp
|
5c722c7020b33da57090422b854072258a50b3f0 |
19-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When code-completing a case statement for a switch on a value of enumeration type, prioritize the enumeration constants and don't provide completions for any other expressions. Fixes <rdar://problem/7283668>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125991 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-enums.c
|
813d8346529bf094eb2b249648906ba7fd226688 |
18-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Selector::getIdentifierInfoForSlot() can return NULL values, a fact that was ignored in a few places (most notably, code completion). Introduce Selector::getNameForSlot() for the common case where we only care about the name. Audit all uses of getIdentifierInfoForSlot(), switching many over to getNameForSlot(), fixing a few crashers. Fixed <rdar://problem/8939352>, a code-completion crasher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125977 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
c6daf0b29d6c48a99cb1ad707973a7e6dfcafd58 |
17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When printing a qualified type, look through a substituted template parameter type to see what's behind it, so that we don't end up printing silly things like "float const *" when "const float *" would make more sense. Also, replace the pile of "isa" tests with a simple switch enumerating all of the cases, making a few more obvious cases use prefix qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125729 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
4706e87595bd7f5b76d863d12cc9b15dc6abd495 |
17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When Parser::ParseExpressionList isn't given a completer, fall back to normal "expression" completion. Fixes the most annoying code-completion bug I've found. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125715 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
577cdfdb20840350e841a483df630237326126d5 |
17-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion results for the Objective-C Key-Value Coding (KVC) and Key-Value Observing (KVO) protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125696 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-kvc.m
|
d98abd8c68bd96e111a0bebdb90f38cf2a5632a2 |
16-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When searching for visible declarations (e.g., for code completion), be sure to look at all of the Objective-C class declarations within a @class. Fixes <rdar://problem/8876207>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125635 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
78bcd9139f4b35be75190446c95614120d9b4c09 |
16-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When trying to provide a code completion item for a call to "super" in Objective-C, also look in the categories and class extensions of our superclasses. Fixes <rdar://problem/8853540>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125628 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-super.m
|
830072c2de881aadfe0f6efd3baccc9129a77e37 |
15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion to cope with block types written without a prototype, e.g., ^() rather than ^(void). Fixes <rdar://problem/8875712>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125608 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
afc4578f8e55d4377b291e2325b2e9bc2cd72e89 |
15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement a special code-completion pattern for "IBAction". Fixes <rdar://problem/8767704>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125604 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
68e3c2eef52701a178fbcc2bb424f31dd4b36931 |
15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When code-completing within a list of declaration specifiers, separately handle the case of a local declaration-specifier list, including all types in the set of options. Fixes <rdar://problem/8790735> and <rdar://problem/8662831>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125594 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.m
|
97d7ff0e514793cb305a1595914f3c91833b4d8f |
15-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When we encounter an Objective-C class name in an expression, followed by the code completion token, treat this as a class message send where the opening square bracket is missing. Fixes <rdar://problem/6970911>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125587 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
0895d1513772eca5a20c552976209fd7f58b993f |
12-Feb-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When reading the AST, delay loading of the redeclaration chain to avoid deeply nested calls. Temporarily set the first (canonical) declaration as the previous one, which is the one that matters, and mark the real previous DeclID to be loaded & attached later on. Fixes rdar://8956193. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125434 91177308-0d34-0410-b5e6-96231b3b80d8
-index-redecls.c
|
52d6bbe3aa1e70d40c7cc892a12f41b6017f5c6c |
05-Feb-2011 |
Ted Kremenek <kremenek@apple.com> |
Don't crash when generating USRs for ObjC methods in protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124920 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
cd9175d5013700b2827fc727fed2b53ea89be027 |
04-Feb-2011 |
Ted Kremenek <kremenek@apple.com> |
USRs for Objective-C methods use the USR of the @interface as their base, not the USR of the class category or extension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124859 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
4814fb560322daf009fda6226cffccb10bd44620 |
04-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
If any Fix-Its attached to a diagnostic have invalid source locations or source locations that refer into a macro instantiation, delete all of the Fix-Its on that diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124833 91177308-0d34-0410-b5e6-96231b3b80d8
ix-its.c
|
2a114694b9c550a48f5d4da43854b43c96367a2e |
27-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Test for previous commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124385 91177308-0d34-0410-b5e6-96231b3b80d8
etain-target-options.c
|
e72fb6f40231a1e8372c7576b69f06f0a1eb28a7 |
27-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Add libclang functions to determine the const/volatile/restrict qualifiers on a CXType. Patch from Stefan Seefeld, test by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124377 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
fbcfeeabed6aa60ba664be302f2b03bed3d1b24d |
24-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Eliminate the use of getTypeForDecl from clang_getCursorType() and clang_getDeclObjCTypeEncoding(); use ASTContext's methods instead, which will (lazily) create the type as needed. Otherwise, we can end up with null QualTypes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124133 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
ba73adafabb1c0af8bec70a1673edc11e6d30a89 |
19-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to generate USRs containing parameter packs and pack expansions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123848 91177308-0d34-0410-b5e6-96231b3b80d8
srs-cxx0x.cpp
|
94d96291cd041adc5731a2294828a9c20e450b74 |
19-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang about SizeOfPackExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123846 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-cxx0x.cpp
|
0b53cf834346d78985aaa9e7300445a39c245614 |
19-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Don't silently drop warning flags passed in to clang_createTranslationUnitFromSourceFile(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123793 91177308-0d34-0410-b5e6-96231b3b80d8
arning-flags.c
|
1d5d0b9df6d2a3df338bc3e63000536406e7666c |
12-Jan-2011 |
Douglas Gregor <dgregor@apple.com> |
Add the location of the right parenthesis of a C++ named cast (static_cast, dynamic_cast, reinterpret_cast, or const_cast) to improve source-location information. Fixes PR8960. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123336 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
112c3307aaa9ae9ee6ff5c2b4f6a53b1ea3c6f19 |
04-Jan-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Fold -fobjc-nonfragile-abi2 into -fobjc-nonfragile-abi. // rdar://8818375 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122831 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
0fe5397b26695926a835fa99eceb7fc879b307af |
03-Jan-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When in code-completion, skip obj-c method bodies for speed up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122781 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
3437f1f1294499d4ef306c1089fcb3e29ec2aa68 |
03-Jan-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Speed up code-completion by skipping function bodies. When we are in code-completion mode, skip parsing of all function bodies except the one where the code-completion point resides. For big .cpp files like 'SemaExpr.cpp' the improvement makes a huge difference, in some cases cutting down code-completion time -62% ! We don't get diagnostics for the bodies though, so modify the code-completion tests that check for errors. See rdar://8814203. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122765 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
emap-complete.c
|
32038bb8486a1f31e8bd8e19ef388049669e9ed2 |
21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
When determining which preprocessed entities to traverse in libclang, take into account the region of interest. Otherwise, we may fail to traverse some important preprocessed entity cursors. Fixes <rdar://problem/8554072>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122350 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/get-cursor-includes-1.h
nputs/get-cursor-includes-2.h
et-cursor-includes.c
|
52e64c88133c6c3153208f216d53112db5c09e8b |
21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix test to be platform-agnostic git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122348 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
bdb2d5056fd675c27307b34efd371bbba6839e92 |
21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a major inconsistency in the representation of Objective-C classes, categories, protocols, and class extensions, where the methods and properties of these entities would be inserted into the DeclContext in an ordering that doesn't necessarily reflect source order. The culprits were Sema::ActOnMethodDeclaration(), which did not perform the insertion of the just-created method declaration into the DeclContext for these Objective-C entities, and Sema::ActOnAtEnd(), which inserted all method declarations at the *end* of the DeclContext. With this fix in hand, clean up the code-completion actions for property setters/getters that worked around this brokenness in the AST. Fixes <rdar://problem/8062781>, where this problem manifested as poor token-annotation information, but this would have struck again in many other places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122347 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
srs.m
|
2fcbceff97e065cff499e6cc563ca25c762bf547 |
21-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement BlockDecl::getSourceRange(). The bogus source-range information caused token-annotation to fail in funny ways. Fixes <rdar://problem/8595386>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122338 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
124b3def9ed99dc844225aeb6b17f789307500ee |
21-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
add missing newlines at end of file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122309 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
c7b5ed6da7410849b51ba9a9ea04d2cc7b720f48 |
17-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Swap the order of the condition and body of a do-while statement in the AST, so that we visit them in source order. Fixes <rdar://problem/8779113>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122062 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
bbca85d14c227641cb482ef497e1e567fe6f9c95 |
17-Dec-2010 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Avoid to emit redundant implicit cast for enum constants init expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122056 91177308-0d34-0410-b5e6-96231b3b80d8
oad-decls.c
|
85fe1560b061b5f93a52dbd07cddd6e808854710 |
10-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
In clang_getCursor(), don't override a preprocessing cursor within another preprocessing cursor, since we want the outermost one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121470 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
7344921b22bebec4f86eb8eb865150b2978b5d2e |
10-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate duplicate code completions for properties. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121424 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
70c233591ad2f77a01c8a318283ae03010c64c8f |
09-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't walk the translation unit context to produce protocol names when global code completions are disabled (e.g., because they are cached). Also, make sure that forward-declared protocols are visited when we look for all visible names within a declaration context. Previously, we would end up with duplicate completions for protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121416 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-protocols.m
|
0a03a3f98b14006a54bcac9e8908a7c9f50e519f |
08-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Fix bug where annotate tokens was not working for BinaryTypeTraitExpr. CIndex's EnqueueVisitor must visit elements backward apparently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121247 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
23467899347688fddc0c7d58633ddf693b3372f7 |
08-Dec-2010 |
Francois Pichet <pichet2000@gmail.com> |
Fix test that didn't really test anything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121246 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
89d9980bbc2e4a4ac86673e6ec16fb9f5babb63b |
30-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
When using a precompiled preamble with detailed preprocessing records, trap the serialized preprocessing records (macro definitions, macro instantiations, macro definitions) from the generation of the precompiled preamble, then replay those when walking the list of preprocessed entities. This eliminates a bug where clang_getCursor() wasn't able to find preprocessed-entity cursors in the preamble. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120396 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
aa5f135f8db82b5e5fb1640fd51f8078e0b2d82d |
19-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the libclang diagnostic API to provide information about the option name, category ID, and category name corresponding to a diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119802 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
cf5442648d4fdd9f1a3b524e449bbdb172ed14fa |
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Do not produce "purely informative" code completion results for Objective-C message sends, which have only whitespace in their TypedText chunk. Such results have no purpose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119569 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
89629a746019a42797495b091711a1d68467e88a |
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
When libclang is walking a member access expression, don't walk into an implicit "this"; it causes clang_getCursor() to find the implicit "this" expression (which isn't written in the source!) rather than the actual member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119516 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
ecursive-cxx-member-calls.cpp
|
6653798ff5ce6deb58112777e21307ccc453133d |
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
When comparing the source range of a declaration against the region of interest (e.g., as used by clang_getCursor()), count the decl-specifier-seq as part of the source range, as we do for clang_annotateTokens(). Makes clang_getCursor() work properly for the result types of functions, for example. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119514 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-getCursor-test.m
|
a4ffd85a6684e42f900aad5459e58ad91bb88755 |
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
For an Objective-C @synthesize statement, e.g., @synthesize foo = _foo; keep track of the location of the ivar ("_foo"). Teach libclang to visit the ivar as a member reference. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119447 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
e3c60a7ce9e0f42c7ca2344b33203266aceca1db |
17-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix source-range information for Objective-C properties. Previously, we were just getting a range covering only the property name, which is certainly not correct (and broke token annotation, among other things). Also, teach libclang about the relationship between @synthesize/@dynamic and @property, so we get property name and cursor-reference information for @synthesize and @dynamic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119409 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
roperties-class-extensions.m
srs.m
|
8f0889ce457db51d3af1eb1245bceee272d4dc7d |
12-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix use of an uninitialized SourceLocation because DeclarationNameLoc failed to completely zero-initialize itself. Now we explicitly memset all of its values. This bug was uncovered by the 'Index/recursive-cxx-member-calls.cpp', which exhibited an assertion on an i386 darwin build of clang. Adding this test case back since the assertion is now resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118881 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
473f67444b60df79c3062b151366527fe8dd533f |
11-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Temporarily remove this test. It is causing an assertion failure in the builtbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118785 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
ab97961fb4424d0822076eb0fd4f8faee9992763 |
11-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Annotate tokens in a separate thread to avoid blowing out stack space. While the CursorVisitor is gradually becoming more data recursive, AnnotateTokensVisitor does its own recursive call within the visitor that can still blow out the stack. This can potentially be reworked to avoid this, but for now just do token annotation on a separate thread. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118783 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-cxx-member-calls.cpp
|
c0e1d923231d42fb0ac86e56a29ffc5c754657ca |
11-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Generalize data-recursive visitation in CursorVisitor to also handle MemberExprs and CXXCallMemberExprs. This scheme is hopefully general enough to extend to the rest of the visitor if necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118782 91177308-0d34-0410-b5e6-96231b3b80d8
ecursive-member-access.c
|
e47be3e9682e82da15059006f43c7f3c021e4fff |
11-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve ASTUnit's capture of diagnostics so that the diagnostic-capturing client lives as long as the ASTUnit itself does. Otherwise, we can end up with crashes when we get a diagnostic outside of parsing/code completion. The circumstances under which this happen are really hard to reproduce, because a file needs to change from under us. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118751 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-driver-errors.c
|
826faa22bae112e01293a58534a40711043cce65 |
10-Nov-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Replace UsingDecl's SmallPtrSet of UsingShadowDecls with a linked list to avoid leaking memory. Fixes rdar://8649963. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118674 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
|
a9b06d4c246d6c301e3dd1844f5dba669ed9c631 |
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
ntroduce clang_getSpellingLocation() into libclang, to provide the location where we're spelling a token even within a macro. clang_getInstantiationLocation() tells where we instantiated the macro. I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs, since they gloss over macro-instantiation information. Take 2: this time, adjusted tests appropriately and used a "simple" approach to the spelling location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118495 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
locks.c
ode-complete-errors.c
|
27a31fe6fac7eb98ece172bf83af93a3a103f5b4 |
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r118492, which didn't update all of its tests accordingly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118494 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
b6278715de9530aea42ff3f9d4064fb5bed13343 |
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce clang_getSpellingLocation() into libclang, to provide the location where we're spelling a token even within a macro. clang_getInstantiationLocation() tells where we instantiated the macro. I'm still not thrilled with the CXSourceLocation/CXSourceRange APIs, since they gloss over macro-instantiation information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118492 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
9b0ba87a5ee4d872ae60dbfe4cbd500e57b8a775 |
09-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion not to include out-of-line declarations and definitions in its results. The original declarations will be visible wherever they are declared. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118484 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.cpp
|
04c450c44d01169de287b64bc256d723007010da |
08-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CursorVisitor::VisitBinaryOperator() to explicitly handle the case where we can blow out the stack due to deeply nested BinaryOperators. This is done by turning the explicit recursion into being data recursive. Fixes: <rdar://problem/8289205> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118444 91177308-0d34-0410-b5e6-96231b3b80d8
ested-binaryoperators.cpp
|
da892649f9a0b6dd92eecb97c7959dc3f968241f |
08-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
If an instance method messages is sending to an expression of type Class, and we statically can compute a bound on the actual type (e.g., because it's a send to the the magic "class" instance method), code complete as if we were performing a class message send to that class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118443 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
93798e25d68e2d146cff9bd0355d4b7b1ca765f1 |
05-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorReferenced() that a CXXConstructorExpr/CXXTemporaryObjectExpr references the constructor it calls. Then, tweak clang_getCursor() to prefer such a call over a type reference to the type being called. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118297 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
ndex-templates.cpp
oad-stmts.cpp
|
40749ee585abc84fbb3c8fdbd8aaac062f153062 |
03-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve source-location information for CXXConstructExpr nodes, by ensuring that they cover all of their child nodes. There's still a clang_getCursor()-related issue with CXXFunctionalCastExprs with CXXConstructExprs as children (see FIXME in the test case); I'll look at that separately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118132 91177308-0d34-0410-b5e6-96231b3b80d8
et-cursor.cpp
|
d8c370ca95a3bccc36c4a6b92a4042809ff51ee4 |
03-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Hack to workaround deficiency in ObjC ASTs. Functions and variables may be declared within an @implementation, but we have no way to record that information in the AST. This may cause CursorVisitor to miss these Decls when doing a AST walk. Fixes <rdar://problem/8595462>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118109 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
ca45da0c6da20d9c0c903370f99af5e9a186e0da |
02-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion to provide property results when the property can be used to automatically synthesize an ivar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118052 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-synthesized.m
|
007a7c9d8dcdb2e9cd94b6075108bfc4c90e6ccd |
02-Nov-2010 |
Ted Kremenek <kremenek@apple.com> |
Encapsulate within CXCursor the notion of whether a VarDecl* is the first Decl in a DeclGroup. We use this to recover some context that is currently not modeled directly in the AST. Currently VarDecl's cannot properly determine their source range because they have no context on whether or not they appear in a DeclGroup. For the meantime, this bandaid suffices in libclang since that is where the correct SourceRange is directly needed. Fixes <rdar://problem/8595749>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117973 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
428edafa9eb80e01dd40aab31d4166a787a741e1 |
25-Oct-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Improve the tracking of source locations for parentheses in constructor calls. This adds them where missing, and traces them through PCH. We fix at least one bug in the extents found by the Index library, and make a lot of refactoring tools which care about the exact formulation of a constructor call easier to write. Also some minor cleanups to more consistently follow the friend pattern instead of the setter pattern when rebuilding a serialized AST. Patch originally by Samuel Benzaquen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117254 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
38f28c1189142429384996409fffbc57f67b5c60 |
23-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorReferenced() and friends about BlockDeclRefExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117167 91177308-0d34-0410-b5e6-96231b3b80d8
locks.c
oad-exprs.c
|
1fb0caaa7bef765b85972274e3b434af2572c141 |
22-Oct-2010 |
John McCall <rjmccall@apple.com> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117147 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
d93fae659ca26558c62dd654e24293be024408af |
21-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Update clang_getCursor() test to check searches on include directives git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117063 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
4419b675577d7c281a659fab1fec10e1bfbe04c5 |
21-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve the implementation of libclang's token-annotation logic for entities in the preprocessing record. Previously, we would only end up getting the first token of a preprocessing record annotated correctly. For example, given #include "foo.h" we would only get the '#' annotated as an inclusion directive; the 'include' and '"foo.h"' tokens would be given the general 'processing directive' annotation. Now, we get proper annotations for entities in the preprocessing record. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117001 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-include.c
nnotate-tokens-pp.c
nnotate-tokens.m
|
ecdcb883cbc6bb4a2445dc6f02d58d9bdb54a0ed |
21-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the preprocessing record and libclang with support for inclusion directives, keeping track of every #include, #import, etc. in the translation unit. We keep track of the source location and kind of the inclusion, how the file name was spelled, and the underlying file to which the inclusion resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116952 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-include.c
nnotate-tokens-pp.c
|
8ec904c151abf7ed0dc911258574a904ed97ff15 |
19-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak code-completion result priorities, so that exact and similar type matches have a bigger impact. The impetus for this change was that, when initializing an enumeration value, we want enumerators of that enumeration type to have a higher priority than, e.g., unrelated local variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116774 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-at-exprstmt.m
omplete-blocks.m
omplete-ctor-inits.cpp
omplete-declarators.cpp
omplete-declarators.m
omplete-driver-errors.c
omplete-exprs.c
omplete-exprs.m
omplete-hiding.c
omplete-member-access.m
omplete-memfunc-cvquals.cpp
omplete-method-decls.m
omplete-objc-message-id.m
omplete-objc-message.m
omplete-preprocessor.m
omplete-recovery.m
omplete-super.cpp
omplete-super.m
omplete-type-factors.m
|
a5450a097e83072c0e545ccd8df8b07e172f1b09 |
19-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix the translation of the PCC_ForInit code-completion context for C++/C99/Objective-C, so that we properly include types. This fix affects global caching of code-completion results; without caching, the behavior was already correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116757 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
75ab414cac234145b81fa7d2dfcf15271d8db87d |
18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide code completion for types after the '^' that starts a block literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116754 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
c7b7b7a8eda7a5316ad1062b7f81a339f5550bca |
18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce code completion results for Objective-C methods, both when declaring methods and when sending messages to them, by bringing all of the selector into TypedCheck chunks in the completion result. This way, we can improve the sorting of these results to account for the full selector name rather than just the first chunk. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116746 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
omplete-objc-message.m
|
ea76618ced548ea1550a7a4de21cb8b6eea878bc |
18-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions of Objective-C method declarations (after - or +), always traverse superclasses and all categories. The programmer may want to complete a method from *anywhere*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116723 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
8b380af8c68b7d789881e75a47c6c2a167dec828 |
14-Oct-2010 |
Andrew Trick <atrick@apple.com> |
Reverting r116493: removes a test that failed on clang selfhost and msvc git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116522 91177308-0d34-0410-b5e6-96231b3b80d8
-index-spurious-keyword.m
|
f34553d823e4434e84851b5dc06c6a98346ab2f6 |
14-Oct-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Test case for r116439 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116493 91177308-0d34-0410-b5e6-96231b3b80d8
-index-spurious-keyword.m
|
4cd912aa94656697a44c3ebb159f05060300524e |
12-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When we load an ASTUnit from command-line arguments, hold on to the diagnostics produced by the driver itself. Previously, we were allowing these to either be dropped or to slip through to stderr. Fixes <rdar://problem/7595339>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116285 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-driver-errors.c
|
c7f39617956c818c41296d63d8cb2a6a2e4122cf |
12-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
This test should now work on windows, since we're no longer using temporary files badly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116261 91177308-0d34-0410-b5e6-96231b3b80d8
emap-complete.c
|
32be4a588fbb87d0d163ead49c42f5438bf0b2b7 |
11-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Switch c-index-test from clang_codeComplete() over to clang_codeCompleteAt(). This uncovered a few issues with the latter: - ASTUnit wasn't saving/restoring diagnostic state appropriately between reparses and code completions. - "Overload" completions weren't being passed through to the client git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116241 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
omplete-method-decls.m
omplete-recovery.m
|
b10daedb8fc4c6f70a66dbc1a6eea01684bb4e77 |
11-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate clang_setUseExternalASTGeneration() from libclang. Between improvements to the compiler and the introduction of crash recovery, it no longer makes sense to allow this mode. Moreover, this eliminates one use of the "clang" executable from within libclang; we'd like them all to go away. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116207 91177308-0d34-0410-b5e6-96231b3b80d8
emap-cursor-at.c
emap-load.c
|
90c121c8dbdcdd4a0a01d5fba3b398dbfc50b37c |
05-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove a rogue typo git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115618 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
6309737da76f583f217c393dc8008f193e196975 |
05-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Register the __builtin_va_list_type node when we parse it, rather than waiting until we think we need it: we didn't catch all of the places where we actually needed it, and we probably wouldn't ever. Fixes a C++ PCH crasher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115617 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
c2760bc8e99510c4b3848fcd21323afd711ee269 |
03-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing a block literal as a code completion for a function/method argument, include the parameter name and always include parentheses (even for zero-parameter blocks). Otherwise, the block literal placeholder '^' can look very weird. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115444 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
358559d8d7b458c5f64941842383a16e61f0828d |
03-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang function, clang_getCursorDisplayName(), which produces a simple "display" name that captures the arguments/parameters for a function, function template, class template, or class template specialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115428 91177308-0d34-0410-b5e6-96231b3b80d8
rint-display-names.cpp
|
3f0fee315cbfa37e0c47904836948e9d0cca9eda |
02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorType() about base specifiers and other references to types. Also, teach clang_getTypeDeclaration() about template specializations, injected-class-names, and elaborated types. Fixes <rdar://problem/8506460>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115425 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
rint-typekind.c
|
1b0f7af64113b63253ced088a2bc64eb98e6f388 |
02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide proper source location and range information for C++ base specifier cursors in libclang. FIXME -=2, fixes the rest of <rdar://problem/8274883>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115419 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
db1314e3ef76f38de07f1b3c7cdc1100a0678931 |
01-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorReferenced() about Objective-C property reference and protocol expressions. Fixes <rdar://problem/7833565>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115346 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
9f59234a91d057cee7c5e3cee91da8696858c692 |
01-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend libclang with an API that determines, given a C++ virtual member function or an Objective-C method, which other member functions/methods it overrides. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115338 91177308-0d34-0410-b5e6-96231b3b80d8
ocal-symbols.m
verrides.cpp
verrides.m
roperties-class-extensions.m
|
4949927fd5f8632ecb1ecdfdac0d13f8357b1984 |
28-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Add test case for <rdar://problem/8452791> (fixed in r114392). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114989 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid-usrs.m
|
76dc8890b6c5223de80be8284adbfc63ceeb3a55 |
25-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When setting the globally-visible declarations for a particular identifier, we may have a Sema object but no translation unit scope (because parsing is finished). In this case, we still need to update the IdResolver, which might still be used when writing a PCH containing another PCH (without chaining). This bug manifested as a failure with precompiled preambles. Also, add a little environment-variable-sensitive logging for libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114774 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/a.h
nputs/b.h
reamble-reparse-chained.c
|
1909dfd38d1597348249dcf7f7acb8921a32b9a8 |
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Remove this test for now until I figure out how to get it to work with c-index-test in a portable way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114721 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-default-synthesis.m
|
84906b2fddf120d12cb489ccbd04d2002a97896d |
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Pass -fobjc-nonfragile-abi2 in test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114720 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-default-synthesis.m
|
fc320e32932cc022a74f8fadbce2830e8c8a26a8 |
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Since this test depends on default ivar synthesis, specify the target triple. This hopefully unbreaks the buildbot on some archs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114716 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-default-synthesis.m
|
4e4297290c86be38668bb064c695c5cd760d81a5 |
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Update comment in test with reference to bug report. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114715 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-default-synthesis.m
|
2a6af6b7874e41f3e6213e8d18623c4bac150354 |
24-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Default synthesized ivars don't really have a location in the source. Using the location of the @implementation is just confusing for clients that want to use SourceLocations for syntactic references. Fixes: <rdar://problem/8470540> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114714 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-default-synthesis.m
|
52779fb71795534d0447f6f4d4a6f6a7b09c4639 |
24-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Synchronize globally-cached code completion results with the results provided when the optimization is disabled. In particular, split the completion context CCC_Other into two contexts: CCC_Other, which means that it's an undisclosed context for which any other results are unwelcome, and CCC_Recovery, which is used in recovery cases. Since we're now using the completion context within the completion results builder, make sure that it's always set to something. Fixes <rdar://problem/8470644>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114704 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.cpp
|
0d22d225ca6fd701473d13020dd46bd5a798de3b |
23-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Add test case for c-index-test showing that @property declarations added in class extensions don't get reported in the @interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114694 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-class-extensions.m
|
4a2e9ea0c191176ebe996516a9cf4f93b7e932cc |
23-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
For properties declared in a @protocol and redeclared in a class extension, use the class extension as the lexical DeclContext for the @property declaration that gets auto-created for the @interface. Fixes: <rdar://problem/8467189> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114693 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-class-extensions.m
|
a054fb46b1fb596d1719b89d2d9a5be3c32a4b0d |
21-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Correctly register the class extension as the lexical DeclContext for ObjC methods declared with @property in class extensions. This matches the behavior for setters. Also pass the class extension to ProcessPropertyDecl as the lexical DeclContext, even when not redeclaring the @property. This fixes the remaining issues in <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114477 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-class-extensions.m
|
8254aa62d9189395be1eed61194cd4b5ee6cb4a2 |
21-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
For ObjCPropertyDecls in class extensions, use the class extension as the lexical DeclContext for newly created ObjCMethodDecls. Further, use the location of the new property declaration as the location of new ObjCMethodDecls (if they didn't previously exist). This fixes more of the issues reported in <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114456 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-class-extensions.m
|
6f942b2cabf32b96f9901b889d8e44a34e0e7c62 |
21-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add code completion for C++ constructors wherever we see the class (or class template) and are in a context where we can have a value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114441 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-exprs.c
omplete-exprs.cpp
|
b9d775734b02e5369bdfa78fa3e479c7281a9761 |
21-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing code completions for an argument in an Objective-C message send, e.g., [[NSString alloc] initWithCString:<CC> look up all of the possible methods and determine the preferred type for the argument expression based on the type of the corresponding parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114379 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-type-factors.m
|
08f43cd5d966fd31b32bd5c76c0645ebbf08b2f1 |
21-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Code completion has no reason to prefer values over types, especially at the statement level or in Objective-C message receivers. Therefore, just give types and declarations the same basic priority, and adjust from there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114374 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-declarators.cpp
omplete-exprs.c
omplete-exprs.m
omplete-hiding.c
omplete-method-decls.m
omplete-preprocessor.m
|
d475aad02da03c31c0e07f7ce0e26ef22bc039da |
20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Get rid of the lame attempt to prioritize "void" functions at statement context; it really isn't helpful in practice (remember printf!) and we'll be doing other adjustments for statements very soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114358 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
omplete-exprs.c
omplete-memfunc-cvquals.cpp
omplete-super.cpp
omplete-templates.cpp
reamble.c
|
b05496dbd63f03bf474dae2c4d1e2142608780cc |
20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak priorities for some types and macros: - In Objective-C, we prefer BOOL to bool for historic reasons; slightly penalize "bool". - Treat Nil macro as a NULL pointer constant. - Treat YES, NO, true, and false macros as constants. - Treat the bool macro as a type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114356 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
66b7fbfa7b0537fac3d61494e89a1d59979974b1 |
20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a simple, substitution-based compression scheme for USRs, so that redundant types don't result in super-long USRs. Fixes <rdar://problem/8447875>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114347 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
97fe61ca1749110c28eb4570a710c8983711c7b3 |
18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Give the Objective-C _cmd an "unlikely" code completion priority; it's very rarely used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114286 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.m
|
833ba9c6913d825016b432b0c4e4f784b1a9eb87 |
18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add another text for code completion after recovery git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114257 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
ac5fd8404fa8ecfae28be76f98fd0d926350354c |
18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Continue parsing more postfix expressions, even after semantic errors. Improves code completion in yet another case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114255 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
94859890384652ed63f7604530f3b988ed223cf4 |
18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve recovery when the middle expression of a ternary operator is ill-formed git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114231 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
200b2921390bd75a659be3c77011e9a5548b7273 |
18-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When we run into an error parsing or type-checking the left-hand side of a binary expression, continue on and parse the right-hand side of the binary expression anyway, but don't call the semantic actions to type-check. Previously, we would see the error and then, effectively, skip tokens until the end of the statement. The result should be more useful recovery, both in the normal case (we'll actually see errors beyond the first one in a statement), but it also helps code completion do a much better job, because we do "real" code completion on the right-hand side of an invalid binary expression rather than completing with the recovery completion. For example, given x = p->y if there is no variable named "x", we can still complete after the p-> as a member expression. Along the recovery path, we would have completed after the "->" as if we were in an expression context, which is mostly useless. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114225 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
692577cd3005922d9657a85c92e3fd68b50ddea1 |
17-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When traversing an InitListExpr, there may not be a syntactic form; check for NULL and visit the InitListExpr we have if there is no syntactic form. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114203 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
d754d5546ef1faa4216298fd95bc6a7f15808fd2 |
16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Swap the priorities of constants and types, so that we prefer types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114086 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-declarators.cpp
omplete-exprs.c
omplete-hiding.c
omplete-macros.c
omplete-method-decls.m
omplete-preprocessor.m
omplete-type-factors.m
|
d36adf553cd71df96fe869204482e0f0d68c6bbf |
16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't add two code-completion results for the same selector; it doesn't add any value. Instead, we'll just take the first method with that selector that we find and create a completion for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114082 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
e396c7bd99ed99fd8136fadc8945791754c61b16 |
16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When collecting Objective-C methods for message send completions, be sure to visit the protocols of protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114079 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message-id.m
|
c7b6d883360092808b0ae81b7829fa8196ef42a1 |
16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for Objective-C class message sends that are missing the opening bracket '[', e.g., NSArray <CC> at function scope. Previously, we would only give trivial completions (const, volatile, etc.), because we're in a "declaration name" scope. Now, we also provide completions for class methods of NSArray, e.g., alloc Note that we already had support for this after the first argument, e.g., NSArray method:x <CC> would get code completion for class methods of NSArray whose selector starts with "method:". This was already present because we recover as if NSArray method:x were a class message send missing the opening bracket (which was committed in r114057). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114078 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
77328d1bb92c2c46bc3e4badc4b4b97c517903b7 |
16-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Handle bracket insertion for Objective-C class messages in a very narrow, almost useless case where we're inside a parenthesized expression, e.g., (NSArray alloc]) The solution to the general case still eludes me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114039 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
78edf515544f0b9dddf69d6c1678fd83e94d8352 |
15-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve code completion for Objective-C message sends when the opening '[' is missing. Prior commits improving recovery also improved code completion beyond the first selector, e.g., at or after the "to" in calculator add:x to:y but not after "calculator". We now provide the same completions for calculator <CC> that we would for [calculator <CC> if "calculator" is an expression whose type is something that can receive Objective-C messages. This code completion works for instance and super message sends, but not class message sends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113976 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
omplete-super.m
|
0268810a46780144a2d5fb5a017c938d1199189c |
15-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new code-completion context for a parenthesized expression, e.g., after the '(' that could also be a type cast. Here, we provide types as code-completion results in C/Objective-C (C++ already had them), although we wouldn't in a normal expression context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113904 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
1f60d9ea523fc321d811fe880ba9a1ec74fa8f9b |
14-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new kind of cursor into libclang, which covers a reference to an "overloaded" set of declarations. This cursor kind works for unresolved references to functions/templates (e.g., a call within a template), using declarations, and Objective-C class and protocol forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113805 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
ndex-templates.cpp
oad-namespaces.cpp
|
424668cc90a07f3f98b36dad252940a43ded83d8 |
11-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
The two libclang crash-recovery tests that involve precompiled preambles end up leaving the precompiled preambles around. This is by design, since we do minimal cleanup during crash recovery. However, it's unfortunate for testing, so introduce a hook that allows these two tests to put the precompiled preamble somewhere where we can delete them after testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113698 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
rash-recovery-reparse.c
|
36897b05ca2886e287f01802614bc10cbadcec22 |
10-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for label statements, gotos, and taking the address of a label (GNU extension). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113564 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
ndex-templates.cpp
oad-stmts.cpp
reamble.c
emap-load.c
|
fa2e26f62162d90a3d117e58d6b1f47e40377987 |
10-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang visitation for C99 designated initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113560 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
8ccef2d0322ebf2701cc10f1ab14c9ee49e17bd7 |
10-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang visitation for __builtin_offsetof's components (fields and array references). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113556 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
a67e03fdf1ae8a1f92463a307d0b6281f1161f40 |
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to walk the base and member initializers of a constructor, in source order. Also introduces a new reference kind for class members, which is used here (for member initializers) and will also be used for designated initializers and offsetof. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113545 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-ctor-inits.cpp
oad-stmts.cpp
|
b2ebdf9ced01a9d691b64952a747289d28fc089e |
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Use temporary files for this test, to see if we can flush out an inexplicable error on Windows git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113493 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-hiding.c
|
3d37c0ada0e46b87be0a10e8d52d990a97d3907a |
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add proper type-source information to UnaryTypeTraitExpr, including libclang visitation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113492 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
382762582c8fcbc06b395a806fd57879381897a8 |
09-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing a completion for a function/method parameter of block pointer type, actually provide a usable block literal expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113431 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
ab6677ec401cfd2c82b34e4cdfebd55a9dc25778 |
08-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide proper type-source location information for CXXTemporaryObjectExpr, CXXScalarValueInitExpr, and CXXUnresolvedConstructExpr, getting rid of a bunch of FIXMEs in the process. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113319 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
1bb2a93ab7b1499dda6f6b58865bd0dce1864228 |
07-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve source-location information for CXXNewExpr, by hanging on to the TypeSourceInfo for the allocated type. Fixes PR7501. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113291 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
0c42bb653dc40b1caae010618831e320af824b18 |
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
'const std::type_info*' instead of 'std::type_info const*' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113092 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
58f9e13e87e57236fee4b914eea9be6f92a1c345 |
05-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
make clang print types as "const int *" instead of "int const*", which is should have done from the beginning. As usual, the most fun with this sort of change is updating all the testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113090 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
e8d7bebc0dd037516dd695ee1ac2eb0923753b46 |
04-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Synchronize code-completion cursor kinds with indexing cursor kinds. How shameful that this code was duplicated! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113033 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-declarators.cpp
omplete-memfunc-cvquals.cpp
omplete-super.cpp
omplete-templates.cpp
|
aaa80b208de3e2c706badf45060bd126fa747b84 |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement libclang visitation for UnresolvedMemberExpr. This is the last of the C++-specific expressions where we have decent source information in the AST already. In particular, various object-construction expressions (CXXNewExpr, CXXTemporaryObjectExpr) still have poor source-location information that needs to be addressed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112981 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
25d63629cc37a9737c6d8d5c6aa08b356649212f |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
libclang visitation for CXXDependentScopeMemberExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112978 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
bfebed2a839e12c3e99d635dbd1f4f875ce8b066 |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
libclang visitation for DependentScopeDeclRefExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112975 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
9536572c72d6076f4dc741615195dd5bdc04d287 |
03-Sep-2010 |
Daniel Dunbar <daniel@zuster.org> |
Avoid unnecessary redirect, so that stderr shows up in output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112965 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
1f7b590d120758d0c969a8153c38d2446935d4aa |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to visit OverloadExprs, so that we can reuse this code. Also, teach it about explicitly-specified template arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112884 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
8ab670ee2b8147da63d1f282d928e754e4e97408 |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang visitation for UnresolvedLookupExprs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112879 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
6f7198f6380581645f416dd48a0079f83d89e884 |
03-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang visitation for C++ pseudo-destructor expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112873 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
948022908d0c16acc3411fdec15aeb1790ffaa86 |
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang visitation for C++ typeid expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112862 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
fbb4c98a248c54d31063aa41dbfacf4f78c93f10 |
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
In libclang, visit the nested-name-specifier and explicitly-specified template arguments of a MemberExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112860 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
8947a7501ee34577a020591d32f701e4b0656cb7 |
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Visit the nested-name-specifier and explicitly-specified template arguments of a DeclRefExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112854 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
c5ade2e3644a5822df63e442788d68c591ccdc97 |
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic visitation for nested name specifiers via libclang cursors. Sadly, this visitation is a hack, because we don't have proper source-location information for nested-name-specifiers in the AST. It does improve on the status quo, however. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112837 91177308-0d34-0410-b5e6-96231b3b80d8
oad-classes.cpp
oad-namespaces.cpp
|
e0329acf5c9437e2086a2fb2bf7a95ae2ac96505 |
02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang function, clang_getSpecializedCursorTemplate(), which determines the template (or member thereof) that the given cursor specializes or from which it was instantiated. This routine can be used to establish a link between templates and their instantiations/specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112780 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
8e7139c9554230df64325f70fe202c83491ba7f5 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix the source-range information for an EnumConstantDecl; previously, it did not include the initializer expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112739 91177308-0d34-0410-b5e6-96231b3b80d8
oad-decls.c
|
662df6e9e5152be90a746b6b66d9959ba37fdfdd |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Test visiting the template parameters of template template parameters, support for which came in with the last commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112735 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
84b51d77e11aaf6ea4607e01187343423ce6c8ae |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach libclang to visit the default arguments of template parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112734 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
7e24256c95afb64b4d5abf201a0f9f0527cb4cf3 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement libclang support for using declarations. Clang actually uses three different kinds of AST nodes to represent using declarations: UsingDecl, UnresolvedUsingValueDecl, and UnresolvedUsingTypenameDecl. These three are collapsed into a single cursor kind for using declarations, since libclang clients don't need the distinction. Several related changes here: - Cursor visitation of the three AST nodes for using declarations - Proper source-range computation for these AST nodes - Using declarations have no USRs, since they don't actually declare any entities. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112730 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
oad-namespaces.cpp
srs.cpp
|
0ab1e9f672a86cf3f094780d99251553a2b69fc7 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve libclang indexing support for class template specializations in a few related ways: - Don't recurse into instantiations of templates. - Recurse into explicit specializations. - Visit the template arguments of an explicit specialization or explicit instantiation. - Include template specialization arguments in the USRs for class template specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112720 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
828629bd81b08385291f71bee8fa086ae24c2e97 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add test for nothing... i.e., the contents of a USR for using directives git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112716 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
0a35bceb7768fc0be62cb644a4e31d8bfd9fb44a |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement libclang support for using directives (cursor + visitation + suppressing USRs). Also, fix up the source location information for using directives so that the declaration location refers to the namespace name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112693 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
srs.cpp
|
53b9441b5a81a24fa1f66f3f6416f1e36baa9c2f |
01-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Split ObjCInterfaceDecl::ReferencedProtocols into two lists: ReferencedProtocols and AllReferencedProtocols. ReferencedProtocols (and thus protocol_begin(), protocol_end()) now only contains the list of protocols that were directly referenced in an @interface declaration. 'all_referenced_protocol_[begin,end]()' now returns the set of protocols that were referenced in both the @interface and class extensions. The latter is needed for semantic analysis/codegen, while the former is needed to maintain the lexical information of the original source. Fixes <rdar://problem/8380046>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112691 91177308-0d34-0410-b5e6-96231b3b80d8
ocal-symbols.m
|
8ea5b9d832455247a15925398fb663d299d33238 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve location information in the representation of namespace aliases. Previously, the location of the alias was at the "namespace" keyword. Now, it's on the identifier being declared (as is the custom for Clang), and we keep a separate source location for the "namespace" keyword. Also, added a getSourceRange() member function to NamespaceAliasDecl to correctly compute the source range. Finally, removed a bunch of setters from NamespaceAliasDecl and gave ASTReaderDecl friendship so that it could set the corresponding fields directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112681 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
|
6931900f43cea558c6974075256c07728dbfecc6 |
01-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for namespace aliases (visitation + USRs) along with a new cursor kind for a reference to a namespace. There's still some oddities in the source location information for NamespaceAliasDecl that I'll address with a separate commit, so the source locations displayed in the load-namespaces.cpp test will change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112676 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
srs.cpp
|
0b36e614aa19df72885d5e0de996f7fbb9874ec3 |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend libclang with a new cursor kind that indicates a reference to a template. Such cursors occur, for example, in template specialization types such as vector<int>. Note that we do not handle the super-interesting case where the template name is unresolved, e.g., within a template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112636 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
74dbe640021d96a8dbb85c592471c04449ade81c |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for class template partial specializations, including a cursor kind, visitation, and USRs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112629 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
39d6f07b056c31e1e6b5946165ed4b23e7887f22 |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add a libclang cursor kind, visitation support and USR support for C++ class templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112627 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
fe72e9ceeae6cc8669cd8bb722425300190638ea |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic support for indexing function templates in libclang. This includes: - Cursor kind for function templates, with visitation logic - Cursor kinds for template parameters, with visitation logic - Visitation logic for template specialization types, qualified type locations - USR generation for function templates, template specialization types, template parameter types. Also happens to fix PR7804, which I tripped across while testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112604 91177308-0d34-0410-b5e6-96231b3b80d8
ndex-templates.cpp
|
01829d3afafdfd355cbe93537bc408aeeed964c6 |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
libclang indexing support for C++ constructors, destructors, and conversion functions. This introduces new cursor kinds for these three C++ entities, and reworks visitation of function declarations so that we get type-source information for the names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112600 91177308-0d34-0410-b5e6-96231b3b80d8
oad-classes.cpp
|
8fb280cbbc8348d4d38f6ed7fa68bb04326814fb |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add a simple test for indexing namespaces git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112598 91177308-0d34-0410-b5e6-96231b3b80d8
oad-namespaces.cpp
|
e17794ffbb8d509d705207ce7140e290665ca33d |
31-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When provide code completions for a variadic Objective-C method declaration send or a variadic function call, collapse the ", ..." into the parameter before it, so that we don't get a second placeholder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112579 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-objc-message.m
|
aba480862485ea1140a81f25c23f43bb080edc90 |
29-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing a code completion for an Objective-C message send, drop the parameter names from the completions, e.g., provide withString:(NSString *) instead of withString:(NSString *)string since the parameter name is, by convention, redundant with the selector piece that precedes it and the completions can get unnecessarily long. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112456 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
omplete-pch.m
|
0c431c8c001e4c1f7488663d98700a8ce1e89e2a |
29-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve code completion for initializer lists in constructors. Instead of prioritizing just by initialization order, we bump the priority of just the *next* initializer in the list, and leave everything else at the normal priority. That way, if one intentionally skips the initialization of a base or member (to get default initialization), we'll still get ordered completion for the rest. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112454 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-ctor-inits.cpp
|
97204552708cda46ce4adb27e81f6d295f02fec1 |
29-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add missing test case for constructor-initializer code completions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112453 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-ctor-inits.cpp
|
3064ef9e604d19a0cfd0d8e3ed3055bfd83f88fd |
27-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Implement CXCursor support for walking C++ base specifiers. This includes adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier. Implements <rdar://problem/8274883>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112296 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
f696152ccc574b4921b2cd1c3d8afbce0d72e510 |
27-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement the "call super" code completion for C++. If the virtual member function you're typing in overrides another virtual function, this fills in a (qualified!) call to that virtual function to make such delegation easy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112294 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-super.cpp
|
1a480c403a3b141ab89c9c59cf7b681102a1bfab |
27-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Suggest "const" and "volatile" code completions after a function declarator, the very definition of "low-hanging fruit". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112274 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-memfunc-cvquals.cpp
|
265f749edb28a80db517cc9051bd21092720d0f0 |
27-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When code-completing inside an Objective-C method, give a slight priority boost to methods with the same selector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112268 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message-id.m
|
03d8aec611380d30ddb0659bb61be9289c3871b3 |
27-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add a super-cool code completion for send-to-super. When we're typing a message send to "super" from a method that appears to be meant to override a superclass method (same kind, same selector, same argument types), provide a "super" completion that fills in the selector along with forwarding the method's arguments (as placeholders). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112263 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-super.m
|
2d9e21f4675232a39a39611a5b4bb1f4914b2742 |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak the @selector completion to collapse multiple informative and typed-text blocks into one of each. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112194 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
|
3cdee121daa13403335094ce0e181b9911c2124c |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When code-completing a potential call to a C++ non-static member function, take into account the qualifiers on the object argument (e.g., what will become "this"), filtering around uncallable member functions and giving a slight priority boost to those with exactly-matching qualifiers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112193 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-memfunc-cvquals.cpp
|
458433d2f0f5c96a9e0d21decdd44bebccf20b11 |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for @selector expressions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112186 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
|
9a2d44c5fbc46ce9ee6dd829a7bac8ca750ad090 |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
More ordering tweaks in this silly, silly test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112184 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
1e5e6684b0f27701e6f7c65f8c6a32a10cbcc3ed |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move the sorting of code-completion results out of the main path and into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. Provide a libclang function that sorts the results. 3rd try. How embarrassing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112180 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
a9584223fb1a9a27c15bc275f1381fce97907054 |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Tweak test to avoid checking for a specific ordering where none exists git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112159 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
95f33555a6d51b6537a9ed3968c3d1c2e4991b51 |
26-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112139 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
9214819c7d4b24fd1b38480d845d8e345d8f0196 |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert "Move the sorting of code-completion results out of the main path and into the clients", because the C standard library sucks. Where's my stable sort, huh? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112121 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-method-decls.m
omplete-objc-message.m
|
141a4d43114dcc52653e192df6c4ec43c6f8dfec |
26-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix RUN line in test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112097 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
d8b0a84d586bc0a08695968acf2f169c9d01da69 |
26-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
When annotating tokens, don't fallback to annotating with a null cursor for cursors that come before a macro instantiation. Fixes <rdar://problem/7974151>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112096 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
c7ed372ec7b1c9be05d022e9bc23cd8641f2b28b |
26-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move the sorting of code-completion results out of the main path and into the clients, e.g., the printing code-completion consumer and c-index-test. Clients may want to re-sort the results anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112095 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-method-decls.m
omplete-objc-message.m
|
721f359a350059a81945baa08f63b2e5feceb044 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When combining the code-completion results from Sema long with the code-completion results cached by ASTUnit, sort the resulting result set. This makes testing far, far easier, so this commit also includes tests for the previous few fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112070 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-preprocessor.m
|
44f57f08d9e8233e79e2498224e434ada154f521 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Test for previous commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112059 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-natural.m
|
55817afdf9d453a443262a733f6caf6692dca118 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a preprocessor code-completion hook for contexts where we expect "natural" language and should not provide any completions, e.g., comments, string literals, #error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112054 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-natural.m
|
408be5a4c0ed09a6c0375468d7fff7c93725f2d3 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When performing completions involving Objective-C method declarations (e.g., for message sends or method declaration/definition completions), adjust methods that come from a base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112013 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
omplete-objc-message.m
|
eb0d0145910f3024d9bdefe279a1e9b95495f2fd |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Give a slight preference to functions returning "void" when we're performing code completion at the statement level (rather than in an arbitrary expression). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112001 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
omplete-exprs.c
reamble.c
|
d43dd83a973c585c39a9a5e5e904282bc2371986 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
In code-completion contexts where both types and other values are present, prefer values to types, since it's more common to compute with values than it is to declare new entities or perform type casts. So, tweak the ranking of types vs. other declarations and constants accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111998 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-declarators.cpp
omplete-exprs.c
omplete-hiding.c
omplete-method-decls.m
omplete-preprocessor.m
|
28a7f258aefdd58db0bbf3a903f053bf2cb69c90 |
25-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
USRs for class extensions should "mangle" in the location of the extension. (<rdar://problem/8350262>) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111991 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
ecbd4a84b9a1c47f913e8d5f67f65455a091bbbd |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove i386 macro check from expected output of preprocessor git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111984 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preprocessor.m
|
f29c5233085a5af795c3c01b94d319e5b3235d56 |
25-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for preprocessor expressions and in macro arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111976 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preprocessor.m
|
db918646c0d549a48b85734cb735e094886890d2 |
24-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
tests: Use REQUIRES: instead of XFAIL: for crash recovery tests; running them on Windows breaks things (because it pops up dialogs) since we don't have crash recovery support there (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111970 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
rash-recovery-reparse.c
rash-recovery.c
|
1fbb447e9d43c2c676e94081fbfee7eb6cbe933b |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement preprocessor code completion where a macro name is expected, e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname> expression in a preprocessor conditional. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111954 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preprocessor.m
|
f44e854ed1e3aa86d2ed6d615ccd109d50ddcff9 |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce basic code-completion support for preprocessor directives, e.g., after a "#" we'll suggest #if, #ifdef, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111943 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-preprocessor.m
|
83482d147a37c4d4f0562f73b0766279c500ffd1 |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When providing completions for a function or method argument that corresponds to a block pointer, provide the skeleton of a block literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111918 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-blocks.m
|
d32b0225e29fcafb2b2b2a4b1c51dcb1518af9c6 |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Provide code completion results for the context-sensitive Objective-C keywords "in", "out", "inout", "byref", "bycopy", and "oneway". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111884 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
aaa107acc8f906203101af259e8d764b5027700a |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When calling a function or messaging a method marked "sentinel", add the ", nil", ", NULL", or ", (void*)0" to the end of the code completion, since it always has to be there anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111867 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-objc-message.m
|
58ddb60f409125eda5436c4a1f070f7fa4744295 |
24-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce new libclang API functions that determine the availability of a cursor or code-completion result, e.g., whether that result refers to an unavailable, deleted, or deprecated declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111858 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
omplete-exprs.c
|
aa5f77b2c914b68e6a3737c93db3598907bc64ab |
23-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Include __FUNCTION__, __PRETTY_FUNCTION_, __func__ in code-completion results for expression contexts within a function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111851 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
fb6294123b9de1605adae69d85cb4fddf81a9bc5 |
23-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a code-completion hook for the Objective-C collection argument in a for-each statement (e.g., "for (id x in <blah>)"), which restricts the expression completions provided to Objective-C types (or class types in C++). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111843 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.m
|
2ccccb3ff40c64927817a7e1ddf1da8c188ed224 |
23-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new code-completion point when we're parsing a declarator. Here, we can only see a few things (e.g., cvr-qualifiers, nested name specifiers) and we do not want to provide other non-macro completions. Previously, we would end up in recovery mode and would provide a large number of non-relevant completions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111818 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-declarators.cpp
omplete-declarators.m
|
2283d79155a3e82442fce124ce5fd704ca138801 |
20-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When performing code-completion in the presence of a preamble, make sure to (1) actually use the remapped files we were given rather than old data, and (2) keep the remapped files alive until the code-completion results are destroyed. Big thanks to Daniel for the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111597 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-code-complete.c
|
f128fed9c2ae16d3d6d8b8580b7a257e5c0a7754 |
20-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When we decide not to reuse a precompiled preamble, clear out the previous precompiled preamble completely. Fixes <rdar://problem/8330950>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111590 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/preamble-reparse-1.c
nputs/preamble-reparse-2.c
reamble-reparse.c
|
b1fd3458680bc9c8988dee8967e9c0709fef3945 |
20-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
libclang: Execute clang_codeCompleteAt() inside a crash recovery context. - Test case is disabled for now, because something isn't write with file remapping. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111581 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/crash-recovery-code-complete-remap.c
rash-recovery-code-complete.c
|
c1cf1586f7bbdf8a955a3be79309834ebc25c3af |
19-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix a loop overrun in ComputePreamble when the last remapped file was erased, and reenable crash recovery test. - Reparsing is still very crashy / weird, so I had to sprinkle random code into the remapped input to get it to do what I want (i.e., crash!). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111550 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/crash-recovery-reparse-remap.c
rash-recovery-reparse.c
|
b2842aa3a76b53033e1619c494e972cdbe190939 |
19-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
CrashRecovery: Disable the reparse test for now while I investigate, it goes bonkers sometimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111523 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery-reparse.c
|
ea94bbc4769697143e717df9b0310f874102b6c1 |
19-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
libclang: Put clang_reparseTranslationUnit inside a crash recovery context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111451 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/crash-recovery-reparse-remap.c
rash-recovery-reparse.c
|
19ffd492a31a25fb691098bf79f317e5f3edf177 |
18-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
libclang: Put clang_parseTranslationUnit inside a crash recovery context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111387 91177308-0d34-0410-b5e6-96231b3b80d8
rash-recovery.c
|
16ed9ada523a990ca4bb5015c7bf8d0ead60c7d9 |
17-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When generating code completion patterns for method declarations, give the resulting pattern the appropriate cursor kind of an instance or class method declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111237 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
47c03a75d5a6d1dd4d9de21b9b3543e49b825809 |
17-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
1 != I. Fix the formulation of code-completion patterns for Objective-C method declarations with > 2 parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111233 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
a5fb7c3b56c3698e19a7c1e97d41150de33cf6c9 |
17-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement support for cached code completions for nested-name-specifiers. Also includes fixes to the generation of nested-name-specifier result in the non-cached case; we were producing lame results for namespaces and namespace aliases, which (1) didn't always have nested-name-specifiers when we want them, and (2) did not have the necessary "::" as part of the completion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111203 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
5f808c2bfe2f95c984029d76deb4aaebcad30cbc |
16-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement name hiding of cached global code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111184 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-hiding.c
|
f5586f6b311c98e1022a8fe0609053849b70d323 |
16-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When caching code completions for global declarations, keep track of the usage type of each declaration result, then compare those types to the preferred type of the completion. This provides parity in the priority calculation between the code-completion results produced directly from Sema and those cached by ASTUnit. For the standard Cocoa.h (+ others) example, there's a penalty of 3-4 hundredeths of a second when caching the global results (for ~31,000 results), because we need an ASTContext-agnostic representation of types for the comparison, and therefore we use... strings. Eventually, we'd like to implement a more efficient ASTContext-agnostic encoding of types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111165 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
1827e10051638770ad9ccf3e285caf95f995afd1 |
16-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When caching global completion results, keep track of the simplified type class, so that we can adjust priorities appropriately when the preferred type for the context and the actual type of the completion are similar. This gets us one step closer to parity of the cached completion results with the non-cached completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111139 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-macros.c
|
8071e4212ae08f8014e0c3ae6d18b7388003a5cc |
15-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the code-completion caching infrastructure to include global declarations (in addition to macros). Each kind of declaration maps to a certain set of completion contexts, and the ASTUnit completion logic introduces the completion strings for those declarations if the actual code-completion occurs in one of the contexts where it matters. There are a few new code-completion-context kinds. Without these, certain completions (e.g., after "using namespace") would need to suppress all global completions, which would be unfortunate. Note that we don't get the priorities right for global completions, because we don't have enough type information. We'll need a way to compare types in an ASTContext-agnostic way before this can be implemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111093 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
23bc11ff1874f8875426c9a8a29fe1e6894c3503 |
14-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Always recurse into sub-cursors when annotating tokens, as this information is used for annotating macro arguments. This finishes up <rdar://problem/8044584>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111066 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
3f4046004be223b03f1f895bb934e44921ccf805 |
14-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
As a heuristic, annotate tokens (via clang_annotateTokens) that are the arguments of a macro instantiation using the closest cursor with the same spelling location. Because macro arguments can get token pasted in any arbitrary order, we use the annotation map to paper over the token -> cursor annotations during our post-processing stage. This fixes most of <rdar://problem/8044584>, but still doesn't work for assert(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111062 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
87c08a5d6b9e1e44ae6f554df40139d3a6f60b33 |
14-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement caching of code-completion results for macro definitions when the CXTranslationUnit_CacheCompletionResults option is given to clang_parseTranslationUnit(). Essentially, we compute code-completion results for macro definitions after we have parsed the file, then store an ASTContext-agnostic version of those results (completion string, cursor kind, priority, and active contexts) in the ASTUnit. When performing code completion in that ASTUnit, we splice the macro definition results into the results provided by the actual code-completion (which has had macros turned off) before libclang gets those results. We use completion context information to only splice in those results that make sense for that context. With a completion involving all of the macros from Cocoa.h and a few other system libraries (totally ~8500 macro definitions) living in a precompiled header, we get about a 9% performance improvement from code completion, since we no longer have to deserialize all of the macro definitions from the precompiled header. Note that macro definitions are merely the canary; the cache is designed to also support other top-level declarations, which should be a bigger performance win. That optimization will be next. Note also that there is no mechanism for determining when to throw away the cache and recompute its contents. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111051 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
7ae2faafd30524ef5f863bb3b8701977888839bb |
13-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement clang_saveTranslationUnit(), which saves a translation unit into a PCH/AST file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111006 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
reamble.c
|
2d474ba9e8ae43a1a5a9f72718c0d79092b9453f |
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't emit end-of-file diagnostics like "unterminated conditional" or "unterminated string" when we're performing code completion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110933 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-unterminated.c
|
deacbdca554298ccdf636f19c6094a8825ec6b34 |
11-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Speculatively revert r110610 " Make ObjCInterfaceDecl redeclarable, and create separate decl nodes for forward declarations and the definition," which appears to be causing significant Objective-C breakage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110803 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
|
594ca4325cdf6f2c3e2ae584df069faafeaf145e |
11-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Add test case for <rdar://problem/8288645>. While this is fixed in trunk, we previously were getting the following assertion failure not too long ago: Assertion failed: (getContainingDC(DC) == CurContext && "The next DeclContext should be lexically contained in the current one.") git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110740 91177308-0d34-0410-b5e6-96231b3b80d8
dar-8288645-invalid-code.mm
|
648220ed00711a0fb8ea4a1ab6896a4ee63d8fc5 |
10-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach the libclang cursor visitor to walk into the type information provided by __builtin_types_compatible_p and __builtin_va_arg expressions, now that Abramo has added proper type-source information to those expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110681 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
74c730ad1f6818b676b0bad46d806a9176950328 |
09-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
- Make ObjCInterfaceDecl redeclarable, and create separate decl nodes for forward declarations and the definition. - Eagerly create ObjCInterfaceTypes for declarations. - The two above changes lead to a 0.5% increase in memory use and no speed regression when parsing Cocoa.h. On the other hand, now chained PCH works when there's a forward declaration in one PCH and the interface definition in another. - Add HandleInterestingDecl to ASTConsumer. PCHReader passes the "interesting" decls it finds to this function instead of HandleTopLevelDecl. The default implementation forwards to HandleTopLevelDecl, but ASTUnit's handler for example ignores them. This fixes a potential crash when lazy loading of PCH data would cause ASTUnit's "top level" declaration collection to change while being iterated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110610 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
|
df95a13ec73d2cdaea79555cb412d767f4963120 |
09-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Use precompiled preambles for in-process code completion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110596 91177308-0d34-0410-b5e6-96231b3b80d8
reamble.c
|
1abc6bca3d7fb0e7b1e40fbcad6cfb5e10594548 |
04-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Add code-completion support directly to ASTUnit, which performs code completion within the translation unit using the same command-line arguments for parsing the translation unit. Eventually, we'll reuse the precompiled preamble to improve code-completion performance, and this also gives us a place to cache results. Expose this function via the new libclang function clang_codeCompleteAt(), which performs the code completion within a CXTranslationUnit. The completion occurs in-process (clang_codeCompletion() runs code completion out-of-process). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110210 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
eb8837b88c18631c69ac75f64ab1853762063180 |
03-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When using a precompiled preamble, keep track of the top-level declarations that we saw when creating the precompiled preamble, and provide those declarations in addition to the declarations parsed in the main source file when traversing top-level declarations. This makes the use of precompiled preambles a pure optimization, rather than changing the semantics of the parsed translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110131 91177308-0d34-0410-b5e6-96231b3b80d8
reamble.c
|
c0659ec614c428c7d15746fcad15d50a2703751d |
02-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
When using a precompiled preamble, save the diagnostics produced when creating the preamble and "replay" them when reusing the preamble. Also, fix a thinko in the copying of the preamble when building the precompiled preamble. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110061 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/preamble.h
reamble.c
|
acc9bf3716be80a19f514f228cb903c0910a1725 |
30-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
tests: Use env instead of assuming bash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109864 91177308-0d34-0410-b5e6-96231b3b80d8
reamble.c
|
7b70cf68b67dcff1f8320f276e59cc72eb16ccbf |
30-Jul-2010 |
Ted Kremenek <kremenek@apple.com> |
Add test case for crash reported in <rdar://problem/8236270> (which has since been fixed in trunk). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109834 91177308-0d34-0410-b5e6-96231b3b80d8
nvalid-rdar-8236270.cpp
|
3ce9e7d270e7df86c09c8126b4412d55be7c123b |
30-Jul-2010 |
Ted Kremenek <kremenek@apple.com> |
Add clang_isPODType() for querying if the CXType is POD. Implements <rdar://problem/8250669>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109822 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
6cd24e28811a2000a8d99604dd64a77c58245d4c |
29-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Visit the children of CXXOperatorCallExprs in source order within libclang, so that clang_annotateTokens() doesn't get confused and miss annotations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109706 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.cpp
|
fae3b2f4743dad616623c4df2fdb0f5128bd36d9 |
27-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement -fno-validate-pch at the -cc1 level, which suppresses most of the usual consistency checks used to determine when a precompiled header is incompatible with the translation unit it's being loaded into. Enable this option when loading a precompiled preamble, because the preamble loader will be performing all of this checking itself. Enable the preamble-based test now that it's working. This option is also useful for debugging Clang's PCH (<rdar://problem/7532213>). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109475 91177308-0d34-0410-b5e6-96231b3b80d8
reamble.c
|
3e15e0a7b4da6d906357b00b1bd2bba5ec3195ed |
27-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
When remapping a virtual file, also make an entry for the file with its absolute path on disk. Also, introduce a fun test for the precompiled preamble, which almost works... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109470 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/preamble.h
nputs/prefix.h
reamble.c
|
1f3b4a98d4c5d814f472b4068571422b5650af87 |
22-Jul-2010 |
Ted Kremenek <kremenek@apple.com> |
Update test case to include USRs containing offsets instead of line/columns. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109096 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
f48b5313825894c5e64ee39e932142723363571b |
22-Jul-2010 |
Ted Kremenek <kremenek@apple.com> |
Switch USR generation to use file offsets instead of line/columns for anonymous symbols. Fixes <rdar://problem/8221557>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109095 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
abc563f554951259bbe0315055cad92ee14d87e4 |
19-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new libclang API, clang_reparseTranslationUnit(), which reparses an already-parsed translation unit. At the moment it's just a convenience function, but we hope to use it for performance optimizations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108756 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
|
773eb03d8c12639e4219869a97c3b45ff13a1533 |
14-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Add test case that was causing an infinite loop when reading PCH files. The test works with ToT Clang already git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108318 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
40ed9a13f5b67b2941f5a9521616e57e9e31ba97 |
09-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Support code completion for parameter names in Objective-C method declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107933 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
1f5537aaac1e775aff1d523f2cc59a9a3bd6c946 |
09-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new code-completion point prior to an identifier in the selector of an Objective-C method declaration, e.g., given - (int)first:(int)x second:(int)y; this code completion point triggers at the location of "second". It will provide completions that fill out the method declaration for any known method, anywhere in the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107929 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
590c7d5e79d350162d485f039018cbeb47f3b547 |
08-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
During code completion, give the "nil" and "NULL" macros the same priority as other constants. And, if we're in a place where we prefer a pointer type, consider "nil" and "NULL" to be close matches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107910 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
448278ad268e74e0fe529087e2f5729034a748f2 |
23-Jun-2010 |
Ted Kremenek <kremenek@apple.com> |
Add USR tests for ObjC class extensions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106640 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
9a140845438c2fc31e7d48a6dedbc695f4c83c68 |
21-Jun-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CXType support for querying the return type of Objective-C methods. This is done by adding a clang_getCursorResultType() function (which complements clang_getResultType()). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106473 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.m
|
04c3cf35a80c09ab78e519f2e71ecccd5c5d8da0 |
21-Jun-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CXType support for FunctionNoProto and FunctionProto types. This includes adding a new function, clang_getResultType(), which returns the result type of the function type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106459 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
0d32a68cbc508f81ae6979f3e8aa6e3007d02752 |
21-Jun-2010 |
Ted Kremenek <kremenek@apple.com> |
Add clang_getCursorType() support for @property declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106451 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.m
|
f13ca06e57ac094ed05ea08c26a499af1ba0ce88 |
17-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Make the "extra ';' inside a struct or union" diagnostic more precise. Fixes PR7336. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106170 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
9b30b267e77d1778e1e9b7c44b6852489c2c5096 |
15-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion not to ignore data members when performing code completion for expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106037 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
fc929208193eff37e1d3a28b1ea3bd1c9a7913e0 |
05-Jun-2010 |
John McCall <rjmccall@apple.com> |
Add indexing support for the block and @property type location information I just implemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105491 91177308-0d34-0410-b5e6-96231b3b80d8
locks.c
|
33611e0d5ab1372608a7649b1877cd4300621c71 |
31-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve our handling of NULL after an escaping '\' in a string literal. Fixes <rdar://problem/8044135>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105181 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
bd6c76fd53e3674d5bbfefe471e2ae657ce69d0c |
31-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve parser recovery when we try to parse a call expression but the called function itself is invalid (e.g., because of a semantic error referring to that declaration). Fixes <rdar://problem/8044142>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105175 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
4d6ec201622f3011d9b2cd0c25d0fc165fc164ba |
30-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Unbreak non-Darwin builds git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105137 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-type-factors.m
|
5ac3bdb2cb0113b640c54f01468d21985c08b252 |
30-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach code completion to adjust its completion priorities based on the type that we expect to see at a given point in the grammar, e.g., when initializing a variable, returning a result, or calling a function. We don't prune the candidate set at all, just adjust priorities to favor things that should type-check, using an ultra-simplified type system. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105128 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-type-factors.m
|
447107dfff705ab79d1dbf33ce79b524d63572fd |
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't put method bodies into code completions unless code patterns are turned on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104909 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
4710e5b12b58dda87d82c5875f13ab9c8979cd8c |
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Do not produce types as valid code completions when we're in an expression context in C/Objective-C, or when we're in an @interface/@implementation/@protocol in Objective-C(++). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104908 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-exprs.c
omplete-recovery.m
|
c8bddde82135ab25a36ff60fbd2ad50fabe42e63 |
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Make -code-completion-patterns only cover multi-line code completions. Plus, tweak a few completion patterns to better reflect the language grammar. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104905 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
|
8e254cfe5a6ab4202c7fcc4b64bdd1ca0fe071ac |
28-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement a code-completion hook for the receiver of an Objective-C message. This completion gives better results than just using the "expression" completion, which is effectively what happened before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104895 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
12e131385e892e3723483a1081a89bcad29c8a84 |
27-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce priorities into the code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104751 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
omplete-member-access.m
|
d8e8a58ee35ab334ab9d0c2154dca029c1822e8a |
25-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Only enable code patterns (e.g., try { statements } catch (...) { statements }) in the code-completion results if explicitly requested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104637 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
omplete-exprs.c
omplete-recovery.m
|
dc8453422bec3bbf70c03920e01498d75783d122 |
25-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve code completion in failure cases in two ways: 1) Suppress diagnostics as soon as we form the code-completion token, so we don't get any error/warning spew from the early end-of-file. 2) If we consume a code-completion token when we weren't expecting one, go into a code-completion recovery path that produces the best results it can based on the context that the parser is in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104585 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-recovery.m
|
857e918a8a40deb128840308a318bf623d68295f |
19-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add clang support for IBOutletCollection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104135 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
23173d7f029f430611caceea72ae61ba6b80af1c |
18-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Teach CursorVisitor about duplicate ObjCPropertyDecls that can arise because of a current design limitation in how we handle Objective-C class extensions. This was causing the CursorVisitor to essentially visit an @property twice (once in the @interface, the other in the class extension). Fixes <rdar://problem/7410145>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104055 91177308-0d34-0410-b5e6-96231b3b80d8
roperties-class-extensions.m
|
8e0ac174c8c8c980927b3e1447f16f62fbe2a2e4 |
14-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CXType and an initial set of supporting functions to libclang. This exposes details of Clang's representation of the C type system to clients. It is nowhere near complete, and will be expanded on demand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103809 91177308-0d34-0410-b5e6-96231b3b80d8
rint-typekind.c
|
0f91f6a2eacf29fb69b1b0c3131eb0385aad5777 |
13-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Specially handle CaseStmts in CursorVisitor because they can be nested and walking them can blow out the stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103687 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
e0530b01495a9bddee70f2a059070f1c06da9530 |
12-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Move macro definitions for IBOutlet and IBAction into the source code. ...", this was a lit bug which should be fixed in r103652. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103654 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
445851cbaad586f84eeabe2fc9ae1a1bde549947 |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Move macro definitions for IBOutlet and IBAction into the source code. This hopefully unbreaks the test with lit+Windows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103650 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
a9f1bb19f75871481aa66316902bb10f4669e596 |
12-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Yes another annotate-tokens tweak. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103615 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
321f8df6866bc3692e67e81820ccec06cd169d19 |
12-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Increase test portability. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103614 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
a3849b1c59586d937b1336ed71b5da66cbb1dab7 |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Make test portable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103588 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
bcbdd8e4e9d28c543c177955c0cecfad2132f413 |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Make test case invariant to macro definition location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103587 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
9a700d277c38d9afaa7cb3fe93a714bfe9b62eec |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Re-apply r103581 with updated tests. It turns out we were computing bogus locations for many things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103583 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
-index-api-loadTU-test.m
oad-stmts.cpp
emap-load.c
|
20f9ba75e5ec794824d7b2ca74dd7dd9dd0b139f |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Temporarily revert r103581 so I can fix the failing tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103582 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
b5fb6acf2d0c6c43cc494192af77798cf1723c79 |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Correctly check if a cursor is a declaration before returning its location/range in clang_getCursorLocation()/clang_getCursorExtent(). This fixes a horrible bug reported in <rdar://problem/7961995> and <rdar://problem/7967123> where declarations with attributes would get grossly annotated with the wrong tokens because the attribute would be interpreted as if it was a Decl*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103581 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
a333c66b94f6d6dcd5ee7e625d816d3c0300e8e6 |
12-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Adjust clang_annotateTokens() to correctly account for the TypeSourceInfo for DeclaratorDecls when annotating tokens. Fixes <rdar://problem/7971430>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103577 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
2ea5baf08dc5006f2d6168948140fd3a709d5cf7 |
07-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Extend C++ usrs to include type mangling for tag decl arguments, indicating whether a method is static, and mangling in the qualifers of the method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103289 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
8e67219a7cb0cf7bfa432f8c30da9c52999737ce |
07-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add initial USR support for mangling in the types of C++ functions and methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103225 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
d5d90fedcc07222acde24dce357266161836b302 |
07-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add USR test case for C++ operator methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103223 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
|
cbd66f00cfe5c4412f8efd6e66b0bb6bae956f7c |
07-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Add USR support for C++ namespaces, and unify mangling of location information in USRs for anonymous symbols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103212 91177308-0d34-0410-b5e6-96231b3b80d8
srs.cpp
srs.m
|
672c003286c6493121ea1c9aca31f5504de737d2 |
06-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Workaround a really serious caching bug in SourceManager::isBeforeInTranslationUnit() where the method will sometimes return different results for the same input SourceLocations. I haven't unraveled this method completely yet, so this truly is a workaround until a better fix comes along. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103143 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-include.c
nnotate-tokens-include.h
|
fbd84caf62a21afa4db5f730e2e2603ead17bb65 |
05-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Rework clang_annotateTokens() to annotate tokens with information that more closely matches clang_getCursor(). Tokens are now annotated with the cursor (for the matching AST element) that most closely encompasses that token. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103064 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
nnotate-tokens.m
|
da5a428bf3db404fe3c91b689cd87c68789d6db9 |
03-May-2010 |
Ted Kremenek <kremenek@apple.com> |
Workaround: Don't add ObjCMethodDecls to the vector of TopLevelDecls since they don't go in the DeclContext for the translation unit. This is to workaround a fundamental issue in how ObjC decls (within an @implementation) are parsed before the ObjCContainerDecl is available. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102944 91177308-0d34-0410-b5e6-96231b3b80d8
ocal-symbols.m
|
cf9991013921df75c226f6d9bbc08e3a4f00d91e |
29-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Add USR support for 'static inline' functions (which can be declared in header files). Add USR support for 'static' functions and local variables, which can be handy for resolving named variables within a translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102641 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
e542f7723a929d42bd9e4dfa526b4ede915b91a7 |
21-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix USRs for 'extern' variables declaration in functions/method bodies. Fix USRs for @synthesize. Add more USR tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101954 91177308-0d34-0410-b5e6-96231b3b80d8
srs.m
|
81d3466d037dc5844234c7a93dab21a6ad986e7d |
20-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Keep proper source location information for the type in an Objective-C @encode expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101907 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
e74ef1289d5fff0a6ea573198bf354fa8cd84d51 |
16-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Rework USR generation for symbols with no linkage. Many of the USRs are now shortened, and we now include the file name that declares the symbol with no linkage in the USR. USRs for such symbols are generated only in restructed cases, e.g., anonymous enum declarations, typedefs, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101542 91177308-0d34-0410-b5e6-96231b3b80d8
rint-usrs.c
|
21b7323cd02867f2927f78011dbbe31206161da9 |
12-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Unbreak test on windows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100999 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
1ee6cad59f017601ea54fbb4f62a6e8d69897e3e |
11-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Add CIndex support for blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100989 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
5dbacb4179c759eef36bcaa6466b91518e3b98a9 |
07-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix CIndex crash on invalid code reported in <rdar://problem/7833619>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100589 91177308-0d34-0410-b5e6-96231b3b80d8
nvalid-code-rdar_7833619.m
|
e8f5a1710a7738deff40e10efcd05b1bd6af184f |
07-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for Objective-C method declarations and definitions, e.g., after - or - (id) we'll find all of the "likely" instance methods that one would want to declare or define at this point. In the latter case, we only produce results whose return types match "id". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100587 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-method-decls.m
|
fe0bdba44641c5d20e6b7c889545b087ff10179e |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Do not produce semicolons at the end of code-completion results git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100557 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
|
22f569918dd599eb6d810e066eddc4ae74c6b2b0 |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
When sending a message to "id", apply some heuristics to try to narrow down the set of code-completion results based on Objective-C conventions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100548 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message-id.m
|
719770dcfcb3987e8a2377dcca97955301445eb5 |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Make code-completion for Objective-C message sends to "id" work in the presence of precompiled headers by forcibly loading all of the methods we know about from the PCH file before constructing our code-completion list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100535 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/complete-pch.h
omplete-pch.m
|
13438f9b9c8fdf08998c843dd307d2a9eda05b32 |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement support for code completion of an Objective-C message send to "id" or an expression of type "id". In these cases, we produce a list of all of the (class or instance) methods, respectively, that we know about. Note that this implementation does not yet work well with precompiled headers; that's coming soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100528 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
85372b93d175385b0aacbc1bd8f28e73abfba834 |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Add test for code completion of Objective-C message sends to classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100527 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
64538cfd343c200d4285d0e5991ec94d9ff8876c |
06-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Perform code-completion within ParseCastExpression, which handles, e.g., the right-hand side of binary expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100526 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-exprs.c
|
84139d6ef8967cfdb70d37378a7a65cc4827d44d |
05-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the type printing policy to allow one to turn off the printing of file locations for anonymous tag types (e.g., "enum <anonymous at t.h:15:6>"), which can get rather long. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100470 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-enums.c
|
09d9fa1933499cb2808cd97b2db16ee11a990ef9 |
05-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Code completion results that refer to macros now get the cursor kind of macro definitions when passed to CIndex. Add test for code completion of macros via CIndex. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100431 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-macros.c
|
b57c757a80532a610d949c2eeb9d9e05c76f543f |
31-Mar-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't skip past the '}' if an expression has error and is not followed by ';'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99972 91177308-0d34-0410-b5e6-96231b3b80d8
ecover-bad-code-rdar_7487294.c
|
f16c76c2e61cca3889ecef23fbb475a9cebad4e3 |
26-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Update test case since c-index-test now works on invalid sources. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99595 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
f7b714df46cdbdf9e2ebf26eb2fd7881790d83e6 |
25-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Add c-index-test support for printing USRs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99476 91177308-0d34-0410-b5e6-96231b3b80d8
rint-usrs.c
|
f7353c08d440aa3c1db46b181aff6c4eb41bbcab |
24-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Make sure that we have File IDs for all of the unsaved files before we deserialize diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99426 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/remap-complete-to.c
emap-complete.c
|
1b058e8956ea29a7fb7649fdee2b80581dcbdf39 |
19-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Robustify PreprocessingRecord slightly, by only creating macro instantiations when we have the corresponding macro definition and by removing macro definition information from our table when the macro is undefined. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99004 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
6a5a23f8e7fb65e028c8092bc1d1a1d9dfe2e9bc |
19-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement serialization and lazy deserialization of the preprocessing record (which includes all macro instantiations and definitions). As with all lay deserialization, this introduces a new external source (here, an external preprocessing record source) that loads all of the preprocessed entities prior to iterating over the entities. The preprocessing record is an optional part of the precompiled header that is disabled by default (enabled with -detailed-preprocessing-record). When the preprocessor given to the PCH writer has a preprocessing record, that record is written into the PCH file. When the PCH reader is given a PCH file that contains a preprocessing record, it will be lazily loaded (which, effectively, implicitly adds -detailed-preprocessing-record). This is the first case where we have sections of the precompiled header that are added/removed based on a compilation flag, which is unfortunate. However, this data consumes ~550k in the PCH file for Cocoa.h (out of ~9.9MB), and there is a non-trivial cost to gathering this detailed preprocessing information, so it's too expensive to turn on by default. In the future, we should investigate a better encoding of this information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99002 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
5de65721bd31e57f883634d9f10b1bff75c4ffc2 |
19-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a longstanding (but previously unknown) bug in the lazy deserialization of precompiled headers, where the deserialization of the source location entry for a buffer (e.g., macro instantiation scratch space) would overwrite a one-element FileID cache in the source manager. When tickled at the wrong time, we would return the wrong decomposed source location and eventually cause c-index-test to crash. Found by dumb luck. It's amazing this hasn't shown up before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98940 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
0396f466978d65789eca85b2738e9df53adc78f5 |
19-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Visit preprocessing elements (macro instantiations and macro definitions) as part of the translation unit, so that normal visitation, token-annotation, and cursor-at retrieval all see preprocessing elements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98935 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
3178cb674ac8c3b59e1791e14d38d48619a1b621 |
19-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert 98907 since it is breaking buildbots. --- Reverse-merging r98907 into '.': D test/Index/c-index-getCursor-pp.c U tools/CIndex/CIndex.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98929 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
2507fa8416c358f372f22ea88734a1bc85d12a4c |
19-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Visit preprocessing elements (macro instantiations and macro definitions) as part of the translation unit, so that normal visitation, token-annotation, and cursor-at retrieval all see preprocessing elements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98907 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-pp.c
|
3c26684d0339a36915fd3b30e6df82fe618bb7a7 |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Try to appease MSVC's standard library git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98878 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
1a1f85a9352cfad7035861a2c1bb92ac62e6e9cb |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Try to appease MSVC git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98875 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
bf7efa2742dc94363d3561d284c9d634fc5a780f |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Explicitly link macro instantiations to macro definitions in the preprocessing record. Use that link with clang_getCursorReferenced() and clang_getCursorDefinition() to match instantiations of a macro to the definition of the macro. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98842 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
572feb2a190b5e8b04fb06c4ac50ee0f61e93ff0 |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Expose macro definitions as CIndex cursors. These can still only be generated by clang_annotateTokens(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98837 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
4ae8f298b1ea51b4c2234f9148e2e4349c9bdd23 |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce the notion of a "preprocessing record", which keeps track of the macro definitions and macro instantiations that are found during preprocessing. Preprocessing records are *not* generated by default; rather, we provide a PPCallbacks subclass that hooks into the existing callback mechanism to record this activity. The only client of preprocessing records is CIndex, which keeps track of macro definitions and instantations so that they can be exposed via cursors. At present, only token annotation uses these facilities, and only for macro instantiations; both will change in the near future. However, with this change, token annotation properly annotates macro instantiations that do not produce any tokens and instantiations of macros that are later undef'd, improving our consistency. Preprocessing directives that are not macro definitions are still handled by clang_annotateTokens() via re-lexing, so that we don't have to track every preprocessing directive in the preprocessing record. Performance impact of preprocessing records is still TBD, although it is limited to CIndex and therefore out of the path of the main compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98836 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
4807231938d8aff28de09f78f301f9ba5845e5e4 |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
More token-annotation experimentation, preprocessing the annotated token sequence to detect macro instantiations (that produce at least token). WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98826 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
9f1e3ff3b3095967e2b92b57a53524e2d6bb141c |
18-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Experimental stab at using relexing to identify preprocessor directives while annotating tokens in CIndex. This functionality should probably be factored out of this routine, but we're not there yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98786 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens-pp.c
|
7c2342dd4c9947806842e5aca3d2bb2e542853c9 |
10-Mar-2010 |
John McCall <rjmccall@apple.com> |
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98149 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
e0610a494173e7fdcc7653283adee43150237d66 |
09-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve Objective-C token-annotation test git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98078 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
98146a6015a3381aa8393fc1e361257c2be41b90 |
09-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Add an Objective-C test for token annotation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98056 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.m
|
c2350e553b853ad00914faf23fa731e5fc4a8a5c |
08-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend ObjCMessageExpr for class method sends with the source location of the class name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97943 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
4bc1cb6aa635a5bf8fae99bf69c56c724c1e786c |
08-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Keep track of type source information in the return type of an Objective-C method declaration, e.g., for - (Foo *)myMethod; we now have TypeSourceInfo for the Foo*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97942 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
c2a2b3c2c2da1086d76bf804633ed5c6c48ae722 |
04-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
c-index-test's printing of linkage was completely broken, as was the test of this functionality. The API worked great, though! :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97736 91177308-0d34-0410-b5e6-96231b3b80d8
inkage.c
|
3bed527b10502c6a5916ebb6e6abc49687ce1444 |
03-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Add '-test-print-linkage-source' option to c-index-test to test clang_getCursorLinkage() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97648 91177308-0d34-0410-b5e6-96231b3b80d8
inkage.c
|
51d07cb2f9b7e1e958a44cf894b7372b26b3b6bc |
03-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't use echo in the Index test, which I hope will work around an intermittent Windows failure git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97613 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/cindex-from-source.h
index-from-source.m
|
d1eabfb15c87837c57d1eb658d75a1f48d6fd5ed |
27-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Robustify SourceManager::getLocation(), so that it returns an end-of-line source location when given a column number beyond the length of the line, or an end-of-file source location when given a line number beyond the length of the file. Previously, we would return an invalid location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97299 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
fdf321bfdef28db88090f1fa46e3a1a30f9cdf5d |
21-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
De-XFAIL some win32 tests that are now passing git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96759 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
ode-completion.cpp
omplete-categories.m
omplete-objc-message.m
omplete-properties.m
|
5f8e1be5b5ed996b31f11d970e8fbbc47cdef699 |
21-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Attempt to fix the MSVC9 failure with c-indext-test, where the CIndex DLL and the c-index-test executable end up getting different copies of stderr, causing non-deterministic ordering of output. Fixed by flushing the file after printing a diagnostic (only on Windows). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96754 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
1e0993c2baf20b6bb628610089b5feab61dd9936 |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
XFAIL some of the c-index-test tests on Windows, where they are failing inexplicably git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96644 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
ode-complete-errors.c
ode-completion.cpp
omplete-categories.m
omplete-objc-message.m
omplete-properties.m
|
0a812cf707da15dadd19fdeb0178b9707f4e01a6 |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Re-apply my diagnostics-capture patch for CIndex, with some tweaks to try to address the msvc failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96624 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
ode-complete-errors.c
|
9e0493576af77dba1c48858c03e31a2897d0681e |
19-Feb-2010 |
Ted Kremenek <kremenek@apple.com> |
Allow GNU attributes to appear in an Objective-C method declaration before the selector name (but after the return type). Among other things, this allows IBAction to be implemented with an attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96623 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
436f3f0400c633251e4071f81358c47bab964adf |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert my CIndex diagnostic changes (r96603, 96606, 96607), which were breaking the msvc9 builder for unknown reasons. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96618 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
ode-complete-errors.c
|
b2710713377f3b900a92ab69c4cf091f560a5cfb |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Resurrect the displayDiagnostics parameter to clang_createIndex(), and display captured diagnostics when we can't return an invalid CXTranslationUnit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96606 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
4c58923ca904733d588ddb1cec58549b6bc7dfa9 |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce CIndex API functions for displaying a diagnostic, with some knobs to control formatting. Eventually, I'd like to merge the implementation of this code with the TextDiagnosticPrinter, so that it's easy for CIndex clients to produce beautiful diagnostics like the clang compiler does. Use this new function to display diagnostics within c-index-test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96603 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
539311e0221df256c70c1c3080c8af847cd29dff |
18-Feb-2010 |
Ted Kremenek <kremenek@apple.com> |
Change cursor behavior for attributes to have them visited as part of recursing to the children of a Decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96599 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
a88084b78fd4ca5d3d858c14b02414f8cc399f02 |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Rework how CIndex handles diagnostics. Rather than using a callback, we attach diagnostics to translation units and code-completion results, so they can be queried at any time. To facilitate this, the new StoredDiagnostic class stores a diagnostic in a serializable/deserializable form, and ASTUnit knows how to capture diagnostics in this stored form. CIndex's CXDiagnostic is a thin wrapper around StoredDiagnostic, providing a C interface to stored or de-serialized diagnostics. I've XFAIL'd one test case temporarily, because currently we end up storing diagnostics in an ASTUnit that's never returned to the user (because it contains errors). I'll introduce a temporary fix for this soon; the real fix will be to allow us to return and query invalid ASTs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96592 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
09dfa37dda8e430fb6129bfd70365a51b4e12243 |
18-Feb-2010 |
Ted Kremenek <kremenek@apple.com> |
Add basic cursor traversal for attributes. We currently don't have source ranges for Attr objects, so lookup by cursor location currently doesn't work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96571 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
8f0bf81c0f3ab31881cc7db7914e6978bb2a19af |
14-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
c-index-test: Unify and always print half-open extents. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96160 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
nnotate-tokens.c
-index-api-loadTU-test.m
-index-getCursor-test.m
index-from-source.m
oad-exprs.c
oad-stmts.cpp
emap-load.c
|
51b058cb1e726c49fe0fae29404a4ca4308a6a12 |
14-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
c-index-test: Unify syntax for printing extents. Yes, there were 4. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96158 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
index-from-source.m
ode-complete-errors.c
oad-exprs.c
oad-stmts.cpp
emap-load.c
|
b217bcce1463db6d6a9c45f53b984af49ee35d03 |
02-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
XFAIL two tests on Win32 until some cares to investigate... the problem on dyncast is just due to \r\n newline interaction w/ regexps. The remap-load.c failure is a bit stranger (the end of the extent is on the next line), but I don't care to investigate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95071 91177308-0d34-0410-b5e6-96231b3b80d8
emap-load.c
|
96a86600b40c7e92f1da2fdec5433cfd2a62a7ef |
02-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
CIndex: Use 'env' instead of relying on bash environment-variable setting syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95068 91177308-0d34-0410-b5e6-96231b3b80d8
emap-cursor-at.c
emap-load.c
|
7297c18c843138625a61e01a137664a176739683 |
30-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
PCHReader doesn't implement classof so dyn_casting it will do really weird stuff. Use a static_cast instead. I don't know if this hack is the right fix. Doug, please take a look. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94895 91177308-0d34-0410-b5e6-96231b3b80d8
emap-load.c
|
51c6d384551674facc19f745ecf6e289d28dc55f |
29-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
When printing diagnostics in c-index-test, also print source ranges and fix-it information, so we can see everything in one place. Along the way, fix a few bugs with deserialization and query of diagnostics in CIndex. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94768 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
d93256e55673a17d18543397ec462416acb13792 |
28-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce serialization and deserialization of diagnostic information so that CIndex can report diagnostics through the normal mechanisms even when executing Clang in a separate process. This applies both when performing code completion and when using ASTs as an intermediary for clang_createTranslationUnitFromSourceFile(). The serialized format is not perfect at the moment, because it does not encapsulate macro-instantiation information. Instead, it maps all source locations back to the instantiation location. However, it does maintain source-range and fix-it information. To get perfect fidelity from the serialized format would require serializing a large chunk of the source manager; at present, it isn't clear if this code will live long enough for that to matter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94740 91177308-0d34-0410-b5e6-96231b3b80d8
ode-complete-errors.c
|
16b55a71695a33c094383295cc7b7a2080e098da |
26-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Implement 'clang_getInclusions()' in CIndex. This API allows clients to walk the set of files included in a translation unit via the C API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94575 91177308-0d34-0410-b5e6-96231b3b80d8
index-test-inclusions.c
nclude_test.h
nclude_test_2.h
|
0045e9fe1f7dfc37f1ea7bdb9b70bcdb6700f0c0 |
26-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement clang_annotateTokens(), which associates cursors with each of the tokens within a raw token stream. This does not even attempt to handle macros yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94561 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
fc8ea23eb6cbaaa5046f2abb4c033e24c8659efd |
26-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a CIndex API for lexing the raw tokens within a given source range. The token-annotation function does nothing, yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94551 91177308-0d34-0410-b5e6-96231b3b80d8
nnotate-tokens.c
|
3512107be5bf54e8f8f33597e8e40e1d0a35cd65 |
25-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Add test case for ? : crasher git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94429 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
oad-stmts.cpp
|
60cbfacd947590f83257a4191566dda92fbbde69 |
25-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Loosen preconditions for clang_getCursorSpelling(), returning an empty string when given a cursor that does not have a name. Also, don't give silly names for statements and non-reference expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94426 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
oad-stmts.cpp
|
b988f9cde9bce0848d081b5cd1f6a48b86ec8108 |
25-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Move the type specifier location for elaborated-type-specifiers from the tag kind (union, struct, class, enum) over to the name of the tag, if there is a name, since most clients want to point at the name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94424 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
oad-exprs.c
|
263b47b6272bfd3ea1c0e61b7ac404e7b2e0f759 |
25-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Visit the condition variables of while and for loops; also, visit the condition even when we've visited the condition variable, so that we'll see implicit conversions there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94423 91177308-0d34-0410-b5e6-96231b3b80d8
oad-stmts.cpp
|
f091b4b8439371d33b884662703b5f68da647350 |
24-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
disable this test, it is failing sporadically. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94344 91177308-0d34-0410-b5e6-96231b3b80d8
emap-load.c
|
336fd81e04c01ffbce2825b372aeb127c80d4d97 |
23-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach the cursor visitor to recurse into the type information of explicit casts, sizeof, alignof, and compound literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94265 91177308-0d34-0410-b5e6-96231b3b80d8
oad-exprs.c
|
4db64a461cb3442934afe43c83ed3f17f7c11c1d |
23-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend clang_createTranslationUnitFromSourceFile() to support creating translation units that include unsaved files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94258 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/remap-load-to.c
emap-cursor-at.c
emap-load.c
|
9fb48de917e6646725d5bb01b6e2c5ec46ff75a1 |
22-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate index-test; all of its tested functionality is now in c-index-test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94211 91177308-0d34-0410-b5e6-96231b3b80d8
omments.c
ind-refs.c
ultiple-redecls.c
bjc-decls.m
bjc-message.m
esolve-loc.c
|
33e9abd21083a0191a7676a04b497006d2da184d |
22-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach CIndex's cursor visitor to restrict its traversal to a specific region of interest (if provided). Implement clang_getCursor() in terms of this traversal rather than using the Index library; the unified cursor visitor is more complete, and will be The Way Forward. Minor other tweaks needed to make this work: - Extend Preprocessor::getLocForEndOfToken() to accept an offset from the end, making it easy to move to the last character in the token (rather than just past the end of the token). - In Lexer::MeasureTokenLength(), the length of whitespace is zero. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94200 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-api-loadTU-test.m
-index-getCursor-test.m
ind-decls.c
ind-defs.c
|
1ef2fc1888d8d14e97ebe561ccbd421282de3ce2 |
22-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach the cursor visitor to walk all of the C and Objective-C declarations that have enough source information to make such a walk useful. This includes walking into variable initializers and enum constants, the types behind typedefs, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94124 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
a59e390ed6d722f0eaaa9f7eb106eaaf470df3f1 |
22-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach the cursor visitor to walk statements and expressions, including a few important subkinds. Now we're cookin' with gas! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94116 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
f20dfbcdaaf96757ea67c94376bdca0bd64db02c |
21-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach the cursor visitor to walk into a variety of different TypeLoc kinds, so that we see referenced types, protocols, classes, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94085 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
7d0d40e58807f73e06ff5eb637a48e9f978b0e2a |
21-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce type references into the C API, capturing references to typedefs only (for now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94078 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
index-from-source.m
|
97b9872d5775446cb8aca1380e437649fe848d91 |
20-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Extend the CIndex API with direct support for expressions and statements, moving some of the more unnatural kinds of references (VarRef, EnumConstantRef, etc.) over to the expressions. We can now poke at arbitrary expressions and statements with, e.g., clang_getCursor() and get back useful information (e.g., source ranges). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93946 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-getCursor-test.m
|
301221313be4f97327e931ead9794dd3a8bce160 |
19-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce the notion of an "unexposed" declaration into the CIndex API. This is a catch-all for any declaration known to Clang but not specifically part of the CIndex API. We'll use the same approach with expressions, statements, references, etc., as needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93924 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
|
b699866820102a69d83d6ac6941985c5ef4e8c40 |
19-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate cursor kinds used to express definitions. Instead, provide CIndex functions that (1) map from a reference or declaration to the corresponding definition, if available, and (2) determine whether a given declaration cursor is also a definition. This eliminates a lot of duplication in the cursor kinds, and maps more closely to the Clang ASTs. This is another API + ABI breaker with no deprecation. Yay, progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93893 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
esolve-loc.c
|
c5d1e9375d71e66d22456e7cc52cc7c0a5c65c3f |
19-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce clang_getCursorReferenced, to get a cursor pointing at the entity that a particular cursor references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93830 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
|
a7bde20f8c6334ccc3a7ef4dd77243d0921a8497 |
19-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement clang_getCursorExtent, which provides a source range for the cursor itself. In particular, for references this returns the source range of the reference rather than the source range of the thing it refers to. Switch c-index-test from clang_getDeclExtent (which will eventually be deprecated and removed) over to clang_getCursorExtent. The source ranges we print for references now make sense; fix up the tests appropriately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93823 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
cf84aa46def41cccf4dd4c51cd0543b70c11e4eb |
18-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Replace clang_getDeclUSR() with clang_getCursorUSR(). Also remove printing 'contexts' from c-index-test output; it wasn't helpful and was extremely brittle. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93760 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-api-loadTU-test.m
index-from-source.m
|
1adb082a709f7b588f03672999294e061234b2cf |
16-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Give ObjCClassRef cursors a sane representation, which is encapsulated in CXCursor.cpp. With this sane representation, fix the class reference that is part of Objective-C category declarations so that the cursor's location matches up with the reference, not the class being referred to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93640 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-api-loadTU-test.m
-index-getCursor-test.m
|
3db211b617c5073aa70eb25d37ed44ae0dca17c4 |
16-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve location information for Objective-C category declarations. We previously only had a single location (the @ in @interface); now we know where the @ is (for the start of the declaration), where the class name is (that's the normal "location" now for diagnostics), and where the category name is. Also, eliminated the redundant "end" location, since ObjCContainerDecl already has better @end information. The only XFAIL'd test is temporary; will un-XFAIL-it once I've taught CIndex how to use the new locations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93639 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
78db0cdd49ec24034a5b2a4210fcda03a0919a81 |
16-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Use a sane encoding for CXCursor_ObjCProtocolRef, using the actual source locations where the protocols were referenced rather than the location of some random enclosing declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93637 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-fn-scan.m
-index-api-loadTU-test.m
-index-getCursor-test.m
|
2e331b938b38057e333fab0ba841130ea8467794 |
16-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Give CXCursor_ObjCSuperClassRef a sane encoding, which is only known to CXCursor.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93634 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
70ee54258035c860ebc71f7e5f803b74f3186889 |
16-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Remove TranslateKind and centralize Decl -> CXCursorKind in GetCursorKind(). This revealed a bunch of inconsistencies in how CXCursorKinds were being computed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93618 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
esolve-loc.c
|
f2c87bd0368775927ead93e0dee3e4f3ca3f9a63 |
15-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Add -cursor-at=file:line:column command line option to c-index-test, to directly check the results of clang_getCursor(). Also, start migrating some index-test tests over to c-index test [*] and some grep-using tests over to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93537 91177308-0d34-0410-b5e6-96231b3b80d8
esolve-loc.c
|
1ca6ae865cc632e9f626faacd4937e666eb05f6b |
14-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Switch code-completion for ordinary names over to the new(ish) LookupVisibleDecls, unifying the name lookup mechanisms used by code completion and typo correction. Aside from the software-engineering improvements, this makes code-completion see through using directives and see ivars when performing unqualified name lookup in an Objective-C instance method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93397 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
|
ab0b4f1d66de54b4c3102b96d56964510361ba7d |
14-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve the sorting of code-completion results. We now always sort by the "typed" text, first, then take into account nested-name-specifiers, name hiding, etc. This means that the resulting sort is actually alphabetical :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93370 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-at-directives.m
omplete-at-exprstmt.m
omplete-objc-message.m
|
c38c3e1e726630458154534227d74eda833d26a0 |
13-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Code-completion for @public, @protected, @private, @package. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93361 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
|
b6ac2451bfed36206c5cec7217372c4299f67f2b |
13-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Whenever completing ordinary names for an Objective-C source, also provide completions for @ keywords. Previously, we only provided @-completions after an @ was actually typed, which is useful but probably not the common case. Also, make sure a few Objective-C 2.0 completions only show up when Objective-C 2.0 support is enabled (the default). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93354 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
|
148299f5eb05828937b883e4eba622c3363b4725 |
12-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix tests for r93231. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93238 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
|
834389b87451b24618513b907b4dfb5b00d211f3 |
12-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Use horizontal-space markers in code-completion results rather than embedding single space characters. <rdar://problem/7485503> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93231 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
omplete-at-exprstmt.m
omplete-objc-message.m
|
782f2f52b78d8ca785110398a7f7b56b830b9ac7 |
07-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Change ObjCContainerDecl to contain the entire range for the '@end' piece of the declaration. The '@' and the 'end' are separate tokens, and require two SourceLocations to accurately track. This change was motivated because ObjCContainerDecl::getSourceRange() would previously not return the entire range of the declaration (the 'end' would be left off). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92891 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
-index-api-loadTU-test.m
-index-getCursor-test.m
|
d488d9cfefc06373fc0f18ec334a5caa8d73e5c9 |
07-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Add a test case for code-completion in the presence of tabs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92882 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-tabs.c
|
d8210650ed948de65a08a8daf16d291b747717c4 |
07-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Change clang_getDeclExtent() to have the endpoint point to the last character in the last token. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92869 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
fe6fd3d41a7f48317d6856c9327b6cead32c3498 |
06-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Add C API hook 'clang_getDeclExtent()', which returns the source extent of a declaration. This implements <rdar://problem/7280072>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92802 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
520ad5f7bcbf66a9ef2f6b25e719cbdbcc5534f3 |
23-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Rename test file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92044 91177308-0d34-0410-b5e6-96231b3b80d8
-index-crasher-rdar_7487294.c
ecover-bad-code-rdar_7487294.c
|
29b6f3869ed2b4ee706b604dbd563a302d4bbba9 |
23-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Change test case to use 'clang -cc1' (without --disable-free) instead of c-index-test (whose memory management behavior may change in the future). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92043 91177308-0d34-0410-b5e6-96231b3b80d8
-index-crasher-rdar_7487294.c
|
e7809d49413febf078d0503753987fe9f6061a68 |
23-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
Add 'DeclStmt::DoDestroy()' which doesn't actually recurse over its child expressions (via StmtIterator), as those expressions are owned by the Decls and Types (which are destroyed elsewhere). This fixes a crasher reported in <rdar://problem/7487294>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91990 91177308-0d34-0410-b5e6-96231b3b80d8
-index-crasher-rdar_7487294.c
|
2a17af0c7e05500e25d4cc71341f1f232085ebea |
23-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Objective-C methods can be variadic, too. Who knew. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91951 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
ff5ce6eefc7c253ef6edf4d4bfc996fdd82d09aa |
18-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Extend code-completion results with the type of each result git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91702 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
omplete-member-access.m
omplete-objc-message.m
omplete-properties.m
omplete-property-getset.m
emap-complete.c
|
80737ad5e0a67d6e3dd0a0ba48446344215a5fd5 |
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang instead of 'clang', and forcibly disable use of ' clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to garbage). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91460 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-api-loadTU-test.m
-index-getCursor-test.m
-index-pch.c
omments.c
xx-operator-overload.cpp
ind-decls.c
ind-defs.c
ind-refs.c
ultiple-redecls.c
bjc-decls.m
bjc-message.m
esolve-loc.c
|
01ed063edbddd72c1b3f3f7b060bf9a0766e5d09 |
14-Dec-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Make tests use the new clang -cc1 flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91303 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-fn-scan.m
-index-api-loadTU-test.m
-index-getCursor-test.m
bjc-decls.m
bjc-message.m
|
288294f18761a65c47fcb8dd09e98d7e03374068 |
13-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Tests: Fix some bugs in clang_f_opts, options were out of order but it worked because it had two inputs, except on Win32 where /dev/null doesn't exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91235 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
|
632d4b310f3748573b2cb6b9c4d673fc336b57f8 |
12-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
XFAIL this test on Win32 until I can take a look. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91193 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
|
7628294ee86c2f5459b6bf476434fdc8f4f7055e |
11-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Tweak code-completion results by suppressing class template specializations and class template partial specializations (they're never named directly). Also, member access expressions only refer to value declarations (fields, functions, enumerators, etc.) and Objective-C property declarations; filter out everything else. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91133 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
737061fc2948776f941e1854a9bc6ebd070d9151 |
11-Dec-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to fix a crash trying to access a category name in objective-c++ mode and also removed dead-code in this area. (fixes radar 7456710). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91081 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
2a7925c4abe45650f3ab27be09468e3a3a98084a |
07-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
When in an Objective-C instance method, super is a valid code-completion result git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90758 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
9a0c85e640a08174569a303db22981612f05d385 |
07-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for Objective-C @ keywords that are statements or expressions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90757 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-exprstmt.m
|
c464ae8444edb6d07ea49b7a0eae1674c0fa1bb8 |
07-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for Objective-C @ directives git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90756 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-at-directives.m
|
942209729a70af6230af2c6f0436bb77d2f6891c |
05-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
CIndex: For the time being, don't return translation units if we encounter an error during parsing. - We need to be more careful in the rest of CIndex if we are to handle possibly-invalid ASTs, and don't have much experience with this yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90643 91177308-0d34-0410-b5e6-96231b3b80d8
index-on-invalid.m
|
f772d1e2a5688572d07f42896a50ac57a4a41fe8 |
04-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
ASTUnit/CIndex: Explicitly track the top-level decls when using an ASTUnit made from a source file. - This allows CIndex to avoid iterating over all the top-level decls when using a PCH, which means we deserialize far fewer decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90559 91177308-0d34-0410-b5e6-96231b3b80d8
index-from-source.m
|
bdf70c240dba77ca5a4cb3e05661b3678b7b28cf |
03-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
XFAIL this on Win32 for the time being. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90448 91177308-0d34-0410-b5e6-96231b3b80d8
emap-complete.c
|
735df88a38e80c1ca70daa889aa516b8b9f54b50 |
02-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
Extend the CIndex code-completion API to perform code completion involving unsaved files, using the -remap-file= functionality recently added to clang-cc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90314 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/remap-complete-to.c
emap-complete.c
|
625e4efc2c64b638285c9f836cc00a3ad7d0bd5f |
01-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
c-index-test: Split "function scanning" behavior into its own "filter" -- its quite slow and doesn't really stress the APIs people should really use. - I'm not even sure if this mode is still useful given the other scanning mode; Steve? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90193 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-fn-scan.m
-index-api-loadTU-test.m
|
a4494d83985542ee1e9f67954d104bd764c4b416 |
19-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Add missing testcase for Objective-C p@property getter/setter completions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89335 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-getset.m
|
d3c6854153fd6bc6a412a29e4491dbd0a47bdb14 |
19-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve code completion for Objective-C message sends, so that we provide completion results before each keyword argument, e.g., [foo Method:arg WithArg1:arg1 WithArg2:arg2] We now complete before "WithArg1" and before "WithArg2", in addition to completing before "Method". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89290 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
988358f218e00f1918d4a46c9b2340ec2980ded2 |
19-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve the accuracy of code completion for the attributes of an @property declaration, so that we don't produce completions for attributes that would conflict with already-specified attributes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89281 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-flags.m
|
54f016150acf7e0d4dab702d3d7d5e40ba1fdebf |
19-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve code-completion results for the flags in an @property declaration by providing patterns for "getter = <method>" and "setter = <method>". As part of this, invented a new "pattern" result kind that is merely a semantic string. The "pattern" result kind should help with other kinds of code templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89277 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-flags.m
|
424b2a546dbd09cf70d43087771c7fff851ca158 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion after @dynamic git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89265 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
322328b8a65ad2e45829eb06d245addb64037f6f |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for Objective-C @synthesized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89259 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-properties.m
|
2f43b21f37267c121040c89216a83dfd5aa898db |
18-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update test to stop scanning things in the predefines buffer, this isn't adding value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89235 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
|
33ced0b8550f3e7169f326944731ee02e9338659 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for Objective-C category names in @interface and @implementation declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89223 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-categories.m
|
3b49aca913dc0c1838321b9bb2dc9a4cb4681922 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for Objective-C class names after @interface, @implementation, and in the declaration of the superclass of an @interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89207 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-interfaces.m
|
c72af578b2a9d0c27b1908dd4082b94db42cd9b7 |
18-Nov-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Update index tests for r89203. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89204 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
-index-api-loadTU-test.m
|
083128f6b13dfa4fc615a838c49b516d901b1ac0 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion after @property, providing the names of forward-declared properties git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89196 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-protocols.m
|
f9a7c18a4db3afca497fc44ee8cf802db5626494 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Rename code-completion test to actually make sense git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89195 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-property-list.m
omplete-protocols.m
|
55385fe3e723cd675001e45f42d61adde6b7f075 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for Objective-C properly lists git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89194 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-member-access.m
omplete-property-list.m
|
1d5fdf3d3b5ea2640ebe8673814a0b6ab7cf5eb2 |
18-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Add special clang_getCursor() support for @class. Handles <rdar://problem/7383421>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89183 91177308-0d34-0410-b5e6-96231b3b80d8
estClassDecl.m
estClassForwardDecl.m
|
95ac6556a5dfc504491103c37f9aa05b303d2729 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Code completion for member accesses that involve Objective-C properties and instance variables git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89182 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-member-access.m
|
f74a419b7219d050e1e40ff920d30832e903e5a8 |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Finish code completion for Objective-C message sends git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89168 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
36ecb0461977afeb8620d773e938ab4719718a5f |
18-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Refactor code-completion support for message sends, collecting the code to find and add Objective-C methods (starting at an ObjCContainerDecl) into a single, static function. Also, make sure that we search into the implementations of classes and categories to find even more methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89163 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
1c6da1735ddc5978a2c24394c5112b4868b347f0 |
17-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Add c-index-test mode "-test-file-scan", which scans a source file and calls clang_getCursor() on every character. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89136 91177308-0d34-0410-b5e6-96231b3b80d8
-index-getCursor-test.m
|
7324d6d687a83207865ba492224b82edb83b8e44 |
17-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Fix test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89135 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
|
0196ce4ff6a06b3b0dec1b326fadb9069ee68fcd |
17-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Rename test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89132 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-loadTU-test.m
-index-api-test.m
|
f5d9c9340b1a5ecd6ab62b916600b6e19e69539f |
17-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Clean up c-index-test command line usage a bit by requiring a "-test-load-tu" option when testing clang_loadTranslationUnit(). Running c-index-test without the correct arguments now also prints a useful summary of its correct usage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89115 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
-index-pch.c
|
24a069f5ebf441d86eaec7524365101adf6b2aeb |
17-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion for Objective-C message sends to "super". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89112 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
9630eb6e375c4477d7fd7fd72ddfa64bb6685a03 |
17-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Augment code-completion results to provide argument names and placeholder arguments for Objective-C message sends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89103 91177308-0d34-0410-b5e6-96231b3b80d8
omplete-objc-message.m
|
2ca2429671acc94f58e16ba85e0d328a52f40479 |
17-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
... and add back a few more triple forces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89088 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
ca74ae733619b91413f86f06965089f6abc8d100 |
17-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Use -fblocks and -fobjc-nonfragile-abi when that is what is being tested, instead of forcing the triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89072 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
9298cfc7475c48fa42b168c37f628663d65ddde7 |
17-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Have clang_getCursorSource() return NULL when the source location is invalid or refers to a built-in buffer. Implements <rdar://problem/7296243>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89044 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
bbd755a8d970ad6042240298be61b5a0a3778268 |
16-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update test, I don't know why this changed but seems innocuous. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88983 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
ff4393c1cea81b94ac081bed5c49b8126f12fae8 |
09-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Make sure that we look into nested, transparent declaration contexts when looking for a name within a given DeclContext. Now enumerators will show up in code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86591 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
4bb2c284f5bfd34fe9c03050059349f8f43c5620 |
09-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Simplify test to deal with type-based ordering variations git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86552 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
ac06a7ca22869836a8bbc77968f0e0a09c2d7771 |
09-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Verify that code-completion is at least a little bit robust against inclusion of missing headers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86551 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
3ac738567fdf4df636b9e76c5a2d3dc3d6f80235 |
09-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Minor cleanup for CIndex-based code-completion: - Provide an actual test for code-completion via CIndex. - Actually print optional strings in c-index-test - Export clang_getCompletionChunkCompletionString from CIndex git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86550 91177308-0d34-0410-b5e6-96231b3b80d8
ode-completion.cpp
|
1787b70a928b481fb2333d6c14cf91de26f4609e |
08-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Move test/Index input files into a sub directory (not scanned as tests). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86431 91177308-0d34-0410-b5e6-96231b3b80d8
nputs/c-index-pch.h
nputs/foo.h
nputs/lit.local.cfg
nputs/objc.h
nputs/t1.c
nputs/t1.m
nputs/t2.c
nputs/t2.m
-index-pch.c
-index-pch.h
ind-decls.c
ind-defs.c
ind-refs.c
oo.h
bjc-decls.m
bjc-message.m
bjc.h
1.c
1.m
2.c
2.m
|
4fcfde4d5c8f25e40720972a5543d538a0dcb220 |
08-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Eliminate &&s in tests. - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86430 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
-index-pch.c
omments.c
ind-decls.c
ind-defs.c
ind-refs.c
ultiple-redecls.c
bjc-decls.m
bjc-message.m
esolve-loc.c
|
7d1d49d2971b20a97b3c2a301470b9eaaa130137 |
16-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
Keep track of whether declararions were loaded from a precompiled header or not via a new "PCHLevel" field in Decl. We currently use this information to help CIndex filter out declarations that came from a precompiled header (rather than from an AST file). Further down the road, it can be used to help implement multi-level precompiled headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84267 91177308-0d34-0410-b5e6-96231b3b80d8
-index-pch.c
|
52e7108f51a4a9f4d6e84f33fb594d06e1d79560 |
16-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
Add support for a chain of stat caches in the FileManager, rather than only supporting a single stat cache. The immediate benefit of this change is that we can now generate a PCH/AST file when including another PCH file; in the future, the chain of stat caches will likely be useful with multiple levels of PCH files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84263 91177308-0d34-0410-b5e6-96231b3b80d8
-index-pch.c
-index-pch.h
|
b49036311776e261c9871a1195749a0ae000ef24 |
07-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
Force a specific target triple in c-index-api-test.m, making the behavior of the test not be dependent on the host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83438 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
f9adf8f9303bc18204105e68cbe0d180dd0694c6 |
05-Oct-2009 |
Steve Naroff <snaroff@apple.com> |
- Fix assert in clang_getCursorDecl (having to do with recently added ObjC_ProtocolRef). - Make sure CHECK: lines in test case match the expected output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83316 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
85e2db72137c28114d3981c044946a8c16ef6011 |
01-Oct-2009 |
Steve Naroff <snaroff@apple.com> |
Add support for class and protocol references. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83186 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
f4526e3fd48248af78b3d59ec36a37bc055b326f |
29-Sep-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Modify ASTLocation and apart from being a Decl or Stmt, allow it to also be: -A NamedDecl reference -A TypeLoc git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83095 91177308-0d34-0410-b5e6-96231b3b80d8
esolve-loc.c
|
1abe5c306cadccff2bdc1eae0b091c4a3bd14454 |
26-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Revert "Force triple in test.", this wasn't the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82855 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
c22dd4d7318720db5c3c34aebe4aac0b5af6cc94 |
26-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Force triple in test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82850 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
741652428309a3ba5d9460de4d351dcbbf7b37e4 |
26-Sep-2009 |
Steve Naroff <snaroff@apple.com> |
Fix cut/paste error resulting in bad column info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82810 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
699a07d8a0b1579c5178b3baf4bcf9edb6b38108 |
25-Sep-2009 |
Steve Naroff <snaroff@apple.com> |
Add clang_getDeclLine and clang_getDeclColumn Fix clang_getCursorDecl to do the right thing for expr refs Fixup test file to accommodate new output (which includes the line/column for the referenced decl) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82798 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
d781a39b9ecc273e9d64cf8b327dcf7efd287e7f |
25-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Don't look for __builtin_va_list; it isn't present for all targets git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82757 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
ff9e18cb3863defa98257500ef49d93a9d2bc216 |
24-Sep-2009 |
Steve Naroff <snaroff@apple.com> |
Add test for C-based indexing API, using FileCheck utility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82706 91177308-0d34-0410-b5e6-96231b3b80d8
-index-api-test.m
|
39da0b8145eaec7da7004f9b3645c5c9f4f63b1d |
10-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve handling of initialization by constructor, by ensuring that such initializations properly convert constructor arguments and fill in default arguments where necessary. This also makes the ownership model more clear. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81394 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload.cpp
|
8c4dc1ffd20a8fe90a90c7f471cd9842b981078e |
31-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
For a CXXOperatorCallExpr, fix the order that StmtLocResolver uses to check subexpressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77713 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload.cpp
|
218e0b701cc02b4ca04a601a3836068f96210915 |
30-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add -fblocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77571 91177308-0d34-0410-b5e6-96231b3b80d8
ind-decls.c
ind-defs.c
ind-refs.c
|
19b732a5461f5023d2335773584ac9aaeb0af514 |
30-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add support for ObjC message expressions, in the Analyzer: -Accept an ObjC method and find all message expressions that this method may respond to. -Accept an ObjC message expression and find all methods that may respond to it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77551 91177308-0d34-0410-b5e6-96231b3b80d8
bjc-decls.m
bjc-message.m
bjc.h
1.m
2.m
|
ad6e5d12d0ec3a49157e7794ddc1baa575ca008b |
30-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Find references inside blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77540 91177308-0d34-0410-b5e6-96231b3b80d8
ind-refs.c
1.c
|
8bf0ccd4c7e23a329f150323e2f9b474ff15c66c |
25-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make having no RUN line a failure. Doug, please look at decltype-crash and instantiate-function-1.mm, I'm not sure if they are actually testing the right thing / anything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77070 91177308-0d34-0410-b5e6-96231b3b80d8
1.c
2.c
|
025f80dfc21a24b910f2b8442a16796ce5de8379 |
25-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
MultiTestRunner: Validate '&&' at the end of RUN lines. - This is just to normalize, these will go away soon hopefully. Added all the missing '&&'s that have crept in. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77062 91177308-0d34-0410-b5e6-96231b3b80d8
ind-refs.c
|
d46aa50622a298f66fba30f3f1b7682ff2ece013 |
21-Jul-2009 |
Mike Stump <mrs@apple.com> |
Prep for new warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76643 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload.cpp
|
f7cf15ca3c9bee7c0348f549e7a8f0af32b5fa54 |
21-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Change the semantics for Entity. Entity can now refer to declarations that are not visible outside the translation unit. It is a wrapper of a pointer union, it's either a Decl* for declarations that don't "cross" translation units, or an EntityImpl* which is associated with the specific "visible" Decl. Included is a test case for handling fields across translation units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76515 91177308-0d34-0410-b5e6-96231b3b80d8
ind-refs.c
oo.h
1.c
2.c
|
3e8efd9801889ee46c5c3e3a4e745446fd30b752 |
21-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Use temporary output to avoid running index-test with the same commands multiple times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76513 91177308-0d34-0410-b5e6-96231b3b80d8
omments.c
xx-operator-overload.cpp
ind-decls.c
ind-defs.c
ind-refs.c
esolve-loc.c
|
5d51ae23e45495620d5b3f89fc391bdf88d6f60e |
15-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add comments to indicate why RUN lines are below the source code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75813 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload.cpp
esolve-loc.c
|
58f6eafe6ca0bf19635b2fe8911dda0a4af8fd35 |
14-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move the RUN lines on the same file but below the code, as suggested by Sebastian. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75608 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload-input.cpp
xx-operator-overload.cpp
esolve-loc-input.c
esolve-loc.c
|
c7377632d08e9a6492779b7241b76cbc42304050 |
14-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Handle redeclarations properly at the index-test tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75605 91177308-0d34-0410-b5e6-96231b3b80d8
ultiple-redecls.c
|
ba4b8bd33206f695923d117f2711c486873da86d |
14-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Add a C++ indexing test case, where we show the references of overloaded '+' plus signs. Ok, this is a bit out of place since C++ support is way way off, but it was just too cool to not show it off :-) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75601 91177308-0d34-0410-b5e6-96231b3b80d8
xx-operator-overload-input.cpp
xx-operator-overload.cpp
|
12585542f56b3d163b4fa87dd0d18334aff9a3e9 |
14-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Handle struct fields through the index-test tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75596 91177308-0d34-0410-b5e6-96231b3b80d8
ind-decls.c
ind-refs.c
esolve-loc-input.c
esolve-loc.c
1.c
|
c34a7ef09b0c04dd40d212ccfe0fa39777605d6b |
14-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move the test input source code to a separate file. That way we can freely add new RUN lines without having to correct the line part in all the -point-at options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75595 91177308-0d34-0410-b5e6-96231b3b80d8
esolve-loc-input.c
esolve-loc.c
|
921bd2615956bda58dd71d610ed2533cc16e30cf |
06-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Having tests that depend on previously created files is bad idea. Fix them to be self-sufficient. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74810 91177308-0d34-0410-b5e6-96231b3b80d8
init.c
ind-decls.c
ind-defs.c
ind-refs.c
|
7b332d9ada3e2806a4d765000527f739f167791f |
06-Jul-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make use of the Index library through the index-test tool. 'index-test' is now able to provide additional info for a Decl, through multiple AST files: -Find declarations -Find definitions -Find references git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74803 91177308-0d34-0410-b5e6-96231b3b80d8
init.c
ind-decls.c
ind-defs.c
ind-refs.c
oo.h
1.c
2.c
|
2e22253e03e175144aeb9d13350a12fd83f858be |
02-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Add support for retrieving the Doxygen comment associated with a given declaration in the AST. The new ASTContext::getCommentForDecl function searches for a comment that is attached to the given declaration, and returns that comment, which may be composed of several comment blocks. Comments are always available in an AST. However, to avoid harming performance, we don't actually parse the comments. Rather, we keep the source ranges of all of the comments within a large, sorted vector, then lazily extract comments via a binary search in that vector only when needed (which never occurs in a "normal" compile). Comments are written to a precompiled header/AST file as a blob of source ranges. That blob is only lazily loaded when one requests a comment for a declaration (this never occurs in a "normal" compile). The indexer testbed now supports comment extraction. When the -point-at location points to a declaration with a Doxygen-style comment, the indexer testbed prints the associated comment block(s). See test/Index/comments.c for an example. Some notes: - We don't actually attempt to parse the comment blocks themselves, beyond identifying them as Doxygen comment blocks to associate them with a declaration. - We won't find comment blocks that aren't adjacent to the declaration, because we start our search based on the location of the declaration. - We don't go through the necessary hops to find, for example, whether some redeclaration of a declaration has comments when our current declaration does not. Similarly, we don't attempt to associate a \param Foo marker in a function body comment with the parameter named Foo (although that is certainly possible). - Verification of my "no performance impact" claims is still "to be done". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74704 91177308-0d34-0410-b5e6-96231b3b80d8
omments.c
|
30b983b5b367c3b71cd4c6d5b379b27457949d71 |
25-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce tools/index-test. This tool will be the test bed for indexing related operations. It basically reads PCH files passed by the command line and performs various operations. Currently it can accept a file:line:column which resolves to a declaration/statement and displays some information about them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74198 91177308-0d34-0410-b5e6-96231b3b80d8
esolve-loc.c
|