Douglas Gregor
c58d05bcf9
Make CXCursor's data opaque.
...
llvm-svn: 93561
2010-01-15 21:56:13 +00:00
Ted Kremenek
87553c42c0
Add CXCursor.[h,cpp]. These files will centralize the logic for creating/probing CXCursors.
...
llvm-svn: 93547
2010-01-15 20:35:54 +00:00
Ted Kremenek
8433d1da5e
Add USR generation for enums.
...
llvm-svn: 93543
2010-01-15 20:04:31 +00:00
Douglas Gregor
082c3e69eb
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.
llvm-svn: 93537
2010-01-15 19:40:17 +00:00
Ted Kremenek
63b15c3af7
getLocationFromCursor: If a cursor is a reference and has a referringDecl, using the referringDecl for the location.
...
llvm-svn: 93520
2010-01-15 18:24:18 +00:00
Ted Kremenek
e34cbde383
Switch return site to use clang_getNullCursor().
...
llvm-svn: 93405
2010-01-14 01:51:23 +00:00
Ted Kremenek
e1b5525510
Further tweak USR generation by shorting names and distinguish between namespaces and functions.
...
llvm-svn: 93404
2010-01-14 01:50:21 +00:00
Ted Kremenek
d5c6eafe09
Reorganize CIndex.cpp into clearer sections of functions, and add a utility function 'MakeCXCursor' to centralize the logic for creating CXCursor objects.
...
llvm-svn: 93359
2010-01-13 21:46:36 +00:00
Ted Kremenek
e14e372b67
Add 'referringDecl' field to CXCursor to prepare the way to better model declaration references from other delcarations.
...
llvm-svn: 93343
2010-01-13 19:59:20 +00:00
Ted Kremenek
95ae5e16b9
Add extra null check in clang_disposeString().
...
llvm-svn: 93328
2010-01-13 18:45:36 +00:00
Daniel Dunbar
4f2bc55d4e
cc1: Factor out CompilerInstance::ExecuteAction which has the majority of the
...
clang -cc1 logic for running an action against a set of options.
- This should make it easier to build tools that have a clang -cc1 like
interface, but aren't actually part of clang -cc1.
llvm-svn: 93282
2010-01-13 00:48:06 +00:00
Daniel Dunbar
7d38d4da61
cc1: Lift creation of the FrontendAction higher.
...
llvm-svn: 93281
2010-01-13 00:47:51 +00:00
Ted Kremenek
78668fdcfb
Move definitions for visitor methods in CDeclVisitor out-of-line.
...
llvm-svn: 93276
2010-01-13 00:22:49 +00:00
Ted Kremenek
1351b09b04
Make method definitions in TUVisitor out-of-line, making it easy to tell what visitor methods are defined.
...
Generalize TUVisitor to take a general "root" and "iterator" callback; this is prep. work to merging TUVisitor and CDeclVisitor.
llvm-svn: 93275
2010-01-13 00:13:47 +00:00
Ted Kremenek
58a6a8ec62
Add USR printing modes to c-index-test.
...
llvm-svn: 93269
2010-01-12 23:34:26 +00:00
Ted Kremenek
a188cbbf29
Make clang_getDeclUSR() visible.
...
llvm-svn: 93268
2010-01-12 23:34:05 +00:00
Ted Kremenek
cb674f9492
Rename clang_getUSR() -> clang_getDeclUSR(). For now we take a CXDecl instead of a CXEntity.
...
Enhance USR generation a bit with support for records.
llvm-svn: 93267
2010-01-12 23:33:42 +00:00
Ted Kremenek
55e3e83b07
Further tweaking of USR generation. WIP.
...
llvm-svn: 93250
2010-01-12 19:35:53 +00:00
Ted Kremenek
73eccd2c10
Make 'CXTranslationUnitIterator' an argument to perform_test_load(),
...
perform_test_load_tu(), and perform_test_load_source().
llvm-svn: 93248
2010-01-12 18:53:15 +00:00
Benjamin Kramer
59617be4a5
Remove trailing semicolons and silence MSVC warning about C linkage.
...
warning C4190: 'GetEntity' has C-linkage specified, but returns UDT
'clang::idx::Entity' which is incompatible with C
llvm-svn: 93237
2010-01-12 11:32:40 +00:00
Daniel Dunbar
abd3686f49
Remove duplicate class name, MSVC doesn't like this.
...
llvm-svn: 93225
2010-01-12 02:34:07 +00:00
Ted Kremenek
5631d2d1a1
Add a boilerplate implementation for clang_getUSR(). WIP.
...
llvm-svn: 93223
2010-01-12 02:07:58 +00:00
Ted Kremenek
87be3617e3
Change clang_getUSR() to return a CXString instead of a 'const char *'.
...
llvm-svn: 93213
2010-01-12 00:38:53 +00:00
Ted Kremenek
46157971e9
Make createCXString() a static member function of class CIndex.
...
llvm-svn: 93212
2010-01-12 00:36:38 +00:00
Ted Kremenek
e5f86be138
CIndex:
...
- Remove unused (and unimplemented) clang_getDeclarationName().
- Remove unused (and unimplemented) clang_getEntity().
- Add clang_getEntityFromDecl(): maps from a CXDecl to a CXEntity)
- Add clang_getDeclaration(): maps from a (CXEntity, CXTranslationUnit) to a CXDecl).
llvm-svn: 93209
2010-01-11 23:56:39 +00:00
Douglas Gregor
504a6ae83e
Improve code completion by introducing patterns for the various C and
...
C++ grammatical constructs that show up in top-level (namespace-level)
declarations, member declarations, template declarations, statements,
expressions, conditions, etc. For example, we now provide a pattern
for
static_cast<type>(expr)
when we can have an expression, or
using namespace identifier;
when we can have a using directive.
Also, improves the results of code completion at the beginning of a
top-level declaration. Previously, we would see value names (function
names, global variables, etc.); now we see types, namespace names,
etc., but no values.
llvm-svn: 93134
2010-01-10 23:08:15 +00:00
Ted Kremenek
ea903067e1
For now, add back clang_getDeclSource().
...
llvm-svn: 93003
2010-01-08 17:11:32 +00:00
Ted Kremenek
32b79317a2
More crashtracer enhancements to CIndex. When "popping" a crashtracer string
...
restore to the one most recently created.
llvm-svn: 92959
2010-01-07 23:13:53 +00:00
Ted Kremenek
7a5ede2ff0
Tidy up crashtracer logic in CIndex.
...
llvm-svn: 92955
2010-01-07 22:49:05 +00:00
Ted Kremenek
b58514e613
Add FileCheck prefix to another location in the output of c-index-test.
...
llvm-svn: 92890
2010-01-07 01:17:12 +00:00
Ted Kremenek
2a43fd58ee
Change clang_getDeclExtent() to have the endpoint point to the last character in the last token.
...
llvm-svn: 92869
2010-01-06 23:43:31 +00:00
Daniel Dunbar
4ff42d6500
Add _clang_getDeclExtent to export list.
...
llvm-svn: 92825
2010-01-06 05:41:00 +00:00
Ted Kremenek
991eb3f6c0
Add enhanced crash reporter breadcrumbs for clang_createTranslationUnitFromSourceFile().
...
llvm-svn: 92820
2010-01-06 03:42:32 +00:00
Ted Kremenek
e50486bbca
Remove unused variables.
...
llvm-svn: 92804
2010-01-05 23:22:20 +00:00
Ted Kremenek
bde648030b
Remove deprecated function 'clang_getDeclSource()'. Use 'clang_getDeclFile()' instead.
...
llvm-svn: 92803
2010-01-05 23:21:30 +00:00
Ted Kremenek
a44d99c934
Add C API hook 'clang_getDeclExtent()', which returns the source extent of a declaration. This implements <rdar://problem/7280072>.
...
llvm-svn: 92802
2010-01-05 23:18:49 +00:00
Ted Kremenek
9cd9f6d861
Split (mostly nonexistent) USR code out from the main CIndex logic.
...
llvm-svn: 92789
2010-01-05 22:06:45 +00:00
Ted Kremenek
902292d7ac
Add back #include of 'cstdio' to hopefully unbreak the build on Linux.
...
llvm-svn: 92765
2010-01-05 20:55:39 +00:00
Ted Kremenek
0ec2cca8f2
Split code in CIndex.cpp into multiple source files, and remove some unnecessary #includes.
...
llvm-svn: 92756
2010-01-05 19:32:54 +00:00
Douglas Gregor
51af7f628c
Turn on code-completion for macros within CIndex
...
llvm-svn: 92500
2010-01-04 19:45:17 +00:00
Daniel Dunbar
b2138e5529
Driver: Use "g++" as generic gcc name when running in C++ mode, for platforms
...
that lack real tool definitions.
llvm-svn: 92164
2009-12-25 20:21:23 +00:00
Kovarththanan Rajaratnam
55e74a1a6a
Remove RewriteBlocks. It has been superseded by RewriteObjC
...
llvm-svn: 92014
2009-12-23 18:03:34 +00:00
Ted Kremenek
c0895eb730
Add c++-analyzer symlink (which is used by scan-build)
...
llvm-svn: 91937
2009-12-22 23:00:32 +00:00
Douglas Gregor
b3fa919c2d
Extend code-completion results with the type of each result
...
llvm-svn: 91702
2009-12-18 18:53:37 +00:00
Douglas Gregor
f72b6ac87f
Change clang_codeComplete API to return the results in a structure on
...
the heap, so that clients are not forced to copy the results during
the initial iteration. A separate clang_disposeCodeCompleteResults
function frees the returned results.
llvm-svn: 91690
2009-12-18 16:20:58 +00:00
Chandler Carruth
65ce1b7c61
Test for errors during fread() inside c-index-test and handle them
...
appropriately. This also silences some pedantic GCC warnings.
llvm-svn: 91596
2009-12-17 09:18:43 +00:00
Ted Kremenek
22a8a4bfb9
Compute the right extension for preprocessed Objective-C++ files.
...
llvm-svn: 91547
2009-12-16 18:32:41 +00:00
Daniel Dunbar
282c9b9cc1
Fix pretty stack traces.
...
llvm-svn: 91537
2009-12-16 11:47:38 +00:00
Ted Kremenek
dca6816d6a
Add logic for computing preprocessor file extensions for C++ files.
...
llvm-svn: 91505
2009-12-16 05:02:47 +00:00
Ted Kremenek
f65a0c6768
scan-build/ccc-analyzer: start analyzing C++ FTW.
...
llvm-svn: 91398
2009-12-15 02:35:54 +00:00