Douglas Gregor
47815d5b8c
Add a -code-completion-timing= mode to c-index-test, so that we can
...
test the performance of code-completion without testing the
performance of printf().
llvm-svn: 108172
2010-07-12 18:38:41 +00:00
John Thompson
311de2e188
Rename clang.dll to libclang.dll, to fix Windows build.
...
llvm-svn: 108067
2010-07-11 03:23:30 +00:00
Nick Lewycky
32a168c5f8
Clang do so have plugins, we can't prune exports. Fixes plugin support.
...
llvm-svn: 108054
2010-07-10 20:19:47 +00:00
Douglas Gregor
79edde88ed
Document my otherwise-inexplicable change
...
llvm-svn: 107998
2010-07-09 18:39:07 +00:00
Douglas Gregor
8ed0c0b99d
Introduce -f{no-}spell-checking options to enable/disable
...
spell-checking. By default, spell-checking is enabled for Clang
(obviously) but disabled in CIndex for performance reasons.
llvm-svn: 107992
2010-07-09 17:35:33 +00:00
Douglas Gregor
747eb7840a
Reinstate the fix for PR7556. A silly use of isTrivial() was
...
suppressing copies of objects with trivial copy constructors.
llvm-svn: 107857
2010-07-08 06:14:04 +00:00
Douglas Gregor
e182370eda
Revert r107828 and r107827, the fix for PR7556, which seems to be
...
breaking bootstrap on Linux.
llvm-svn: 107837
2010-07-07 23:37:33 +00:00
Douglas Gregor
6df2b8c3ac
Rename CXXZeroInitValueExpr to CXXScalarValueInitExpr, to reflect its
...
newly-narrowed scope. No functionality change.
llvm-svn: 107828
2010-07-07 22:43:56 +00:00
Shantonu Sen
df44f74290
Forward -fno-builtin to clang, add .cp as a supported
...
extension if you otherwise configure scan-build
to do c++ static analysis.
OKed by Ted
llvm-svn: 107562
2010-07-03 03:08:23 +00:00
Daniel Dunbar
a2b1f8b5cd
MC: Pass the target instance to the AsmParser constructor.
...
llvm-svn: 107427
2010-07-01 20:41:59 +00:00
Daniel Dunbar
df000da850
libclang: When invoking external clang process to get code completion results,
...
pass -ccc-clang-cxx to force C++ support (even if the binary was built without
it).
llvm-svn: 107324
2010-06-30 21:40:01 +00:00
Chris Lattner
de310d5d95
Minix doesn't support dylibs, PR7294
...
llvm-svn: 107120
2010-06-29 05:05:09 +00:00
Ted Kremenek
5414027020
Per Doug's suggestion, move check for invalid SourceLocation into
...
cxloc::translateSourceLocation() (thus causing all clients of this
function to have the same behavior).
llvm-svn: 107101
2010-06-28 23:54:17 +00:00
Benjamin Kramer
1e63c74f60
Silence warning about C++-style comments.
...
llvm-svn: 106531
2010-06-22 09:29:44 +00:00
Ted Kremenek
c62ab8d064
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()).
llvm-svn: 106473
2010-06-21 20:48:56 +00:00
Ted Kremenek
c150887fef
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.
llvm-svn: 106459
2010-06-21 20:15:39 +00:00
Ted Kremenek
d34da45a83
Add clang_getCursorType() support for @property declarations.
...
llvm-svn: 106451
2010-06-21 19:41:40 +00:00
Chris Lattner
ed8b6b799d
introduce a new CharSourceRange class, and enhance the diagnostics routines
...
to use them instead of SourceRange. CharSourceRange is just a SourceRange
plus a bool that indicates whether the range has the end character resolved
or whether the end location is the start of the end token. While most of
the compiler wants to think of ranges that have ends that are the start of
the end token, the printf diagnostic stuff wants to highlight ranges within
tokens.
This is transparent to the diagnostic stuff. To start taking advantage of
the new capabilities, you can do something like this:
Diag(..) << CharSourceRange::getCharRange(Begin,End)
llvm-svn: 106338
2010-06-18 22:45:06 +00:00
Alexis Hunt
344393e9cf
Implement first TD-based usage of attributes.
...
Currently, there are two effective changes:
- Attr::Kind has been changed to attr::Kind, in a separate namespace
rather than the Attr class. This is because the enumerator needs to
be visible to parse.
- The class definitions for the C++0x attributes other than aligned are
generated by TableGen.
The specific classes generated by TableGen are controlled by an array in
TableGen (see the accompanying commit to the LLVM repository). I will be
expanding the amount of code generated as I develop the new attributes system
while initially keeping it confined to these attributes.
llvm-svn: 106172
2010-06-16 23:43:53 +00:00
Daniel Dunbar
7c995e8fac
Frontend: Allow passing -cc1 level arguments to plugins. Patch by Troy Straszheim!
...
llvm-svn: 106113
2010-06-16 16:59:23 +00:00
Daniel Dunbar
c1b1729b66
Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration
...
Currently, all AST consumers are located in the Frontend library,
meaning that in a shared library configuration, Frontend has a
dependency on Rewrite, Checker and CodeGen. This is suboptimal for
clients which only wish to make use of the frontend. CodeGen in
particular introduces a large number of unwanted dependencies.
This patch breaks the dependency by moving all AST consumers with
dependencies on Rewrite, Checker and/or CodeGen to their respective
libraries. The patch therefore introduces dependencies in the other
direction (i.e. from Rewrite, Checker and CodeGen to Frontend).
After applying this patch, Clang builds correctly using CMake and
shared libraries ("cmake -DBUILD_SHARED_LIBS=ON").
N.B. This patch includes file renames which are indicated in the
patch body.
Changes in this revision of the patch:
- Fixed some copy-paste mistakes in the header files
- Modified certain aspects of the coding to comply with the LLVM
Coding Standards
llvm-svn: 106010
2010-06-15 17:48:49 +00:00
Chris Lattner
fa04338f38
don't make libclang depend on codegen. Patch by Peter Collingbourne!
...
llvm-svn: 105901
2010-06-12 22:54:45 +00:00
Daniel Dunbar
a442fd5da6
Driver: Fix arg_iterator typing to reflect that it is really an iterator over Arg*s.
...
llvm-svn: 105838
2010-06-11 22:00:13 +00:00
Daniel Dunbar
d04e1a7ef1
Makefiles: Remove unnecessary early include of Makefile.config.
...
llvm-svn: 105640
2010-06-08 20:57:22 +00:00
Daniel Dunbar
ee6b692551
Makefiles: Set Clang CPP compiler flags in a single location, instead of scattered throughout the project Makefiles.
...
llvm-svn: 105638
2010-06-08 20:44:43 +00:00
Daniel Dunbar
e6c1daa8fd
Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.
...
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
2010-06-08 20:34:18 +00:00
Douglas Gregor
61b5ff5ab4
Teach the PrintFunctionNames example to be a proper module, so that
...
Clang can load it as a plugin. Original fix by Troy D. Straszheim,
which I extended with Darwin support. Fixes PR6801.
llvm-svn: 105630
2010-06-08 19:23:49 +00:00
Ted Kremenek
e869a182c2
Add ccc-analyzer support for '-imacros'. Fixes PR 7204.
...
llvm-svn: 105624
2010-06-08 18:27:55 +00:00
Daniel Dunbar
6f8362c6bf
Frontend: Add CodeGenAction support for handling LLVM IR.
...
- This magically enables using 'clang -cc1' as a replacement for most of 'llvm-as', 'llvm-dis', 'llc' and 'opt' functionality.
For example, 'llvm-as' is:
$ clang -cc1 -emit-llvm-bc FOO.ll -o FOO.bc
and 'llvm-dis' is:
$ clang -cc1 -emit-llvm FOO.bc -o -
and 'opt' is, e.g.:
$ clang -cc1 -emit-llvm -O3 -o FOO.opt.ll FOO.ll
and 'llc' is, e.g.:
$ clang -cc1 -S -o - FOO.ll
The nice thing about using the backend tools this way is that they are guaranteed to exactly match how the compiler generates code (for example, setting the same backend options).
llvm-svn: 105583
2010-06-07 23:27:59 +00:00
Abramo Bagnara
d73405829b
Added AccessSpecDecl node.
...
llvm-svn: 105525
2010-06-05 05:09:32 +00:00
John McCall
a3cecb628f
Add indexing support for the block and @property type location information
...
I just implemented.
llvm-svn: 105491
2010-06-04 22:33:30 +00:00
Ted Kremenek
b4bb6dc44d
Return a proper null CXSourceLocation from clang_getLocation() when the SourceLocation is invalid. Fixes <rdar://problem/8056640>.
...
llvm-svn: 105392
2010-06-03 15:52:32 +00:00
Dan Gohman
b2e7169db8
Delete a blank line to make it easier to process this file with a script.
...
llvm-svn: 105275
2010-06-01 16:56:42 +00:00
Ted Kremenek
cadaad1bea
Add check for an invalid CXType in clang_getTypeDeclaration.
...
llvm-svn: 105111
2010-05-29 20:01:52 +00:00
Dan Gohman
ef832a6965
When handling raw_ostream errors manually, use clear_error() so that
...
raw_ostream doesn't try to do its own error handling.
llvm-svn: 104880
2010-05-27 20:16:37 +00:00
Bill Wendling
47bb3e2ba1
Silence warning about "enumeral and non-enumeral type in conditional
...
expression".
llvm-svn: 104863
2010-05-27 18:35:05 +00:00
Ted Kremenek
31729162bc
Remove clang_isFromMainFile(). It doesn't work correctly with CXDiagnostics, and we shouldn't
...
have an API around that cannot be implemented correctly yet.
llvm-svn: 104849
2010-05-27 16:57:42 +00:00
Douglas Gregor
a2db793ff0
Introduce priorities into the code-completion results.
...
llvm-svn: 104751
2010-05-26 22:00:08 +00:00
Daniel Dunbar
4c77a64391
Driver/Frontend: Add -emit-codegen-only, for running irgen + codegen but not the
...
.s printer or .o writer.
llvm-svn: 104623
2010-05-25 18:41:01 +00:00
Douglas Gregor
09737ee885
Turn vertical spacing into horizontal spacing in code-completion results
...
llvm-svn: 104586
2010-05-25 06:14:46 +00:00
Douglas Gregor
01308a0e11
Make clang_isFromMainFile() robust against NULL source locations.
...
llvm-svn: 104474
2010-05-23 21:31:22 +00:00
Ted Kremenek
ea465e1847
Make crashreport data in libclang a compile-time option.
...
llvm-svn: 104413
2010-05-22 00:06:46 +00:00
Daniel Dunbar
6ac7d7d068
Fix __crashreport_info__ declaration.
...
llvm-svn: 104301
2010-05-20 23:50:23 +00:00
Daniel Dunbar
0454f657ce
clang -cc1as: Add -help, -version, and -mllvm support.
...
Also, fix output defaulting to match llvm-mc.
llvm-svn: 104246
2010-05-20 18:15:20 +00:00
Daniel Dunbar
2fcaa549a8
Driver/MC: Add 'clang -cc1as' integrated assembler tool, currently accepts approximately the same interface as 'llvm-mc'.
...
llvm-svn: 104239
2010-05-20 17:49:16 +00:00
Abramo Bagnara
1108e7b873
Renamed misleading getSourceRange -> getLocalSourceRange and getFullSourceRange -> getSourceRange for TypeLoc.
...
llvm-svn: 104220
2010-05-20 10:00:11 +00:00
Ted Kremenek
76a434840a
Add libclang function 'clang_isFromMainFile()' (which just wraps SourceManager::isFromMainFile()).
...
llvm-svn: 104208
2010-05-20 02:59:19 +00:00
Ted Kremenek
08de5c1418
Move CXCursor_FirstDecl definition later to make the results more readable in the debugger.
...
llvm-svn: 104171
2010-05-19 21:51:10 +00:00
Ted Kremenek
84d2bd759f
Remove clang_isDeclarationADefinition() since its functionality is already provided by clang_isCursorDefinition().
...
llvm-svn: 104138
2010-05-19 18:36:55 +00:00
Ted Kremenek
26bde774df
Add clang support for IBOutletCollection.
...
llvm-svn: 104135
2010-05-19 17:38:06 +00:00