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
Fariborz Jahanian
12e2e86f0f
Improve on objective-c pointer recognition
...
during rewrite. No functionality chang.
llvm-svn: 93241
2010-01-12 17:31:23 +00:00
Fariborz Jahanian
5951609ac2
Fix rewriting of MacOS sjlj based eh.
...
Fixes radar 7522880.
llvm-svn: 93219
2010-01-12 01:22:23 +00:00
Fariborz Jahanian
1c2cb6df9e
Fix rewriting for forward class declaration.
...
(fixes radar 6969189).
llvm-svn: 93201
2010-01-11 22:48:40 +00:00
Fariborz Jahanian
9146e44124
Fixup rewrite of ivars accessed via an explicit object
...
in a function. Fixes radar 7522803.
llvm-svn: 93159
2010-01-11 17:50:35 +00:00
Benjamin Kramer
e056cea3a6
Silence MSVC warning.
...
RewriteObjC.cpp(4419) : warning C4804: '>' : unsafe use of type 'bool' in operation
llvm-svn: 93124
2010-01-10 19:57:50 +00:00
Anton Korobeynikov
55bcea1e65
Generalize target weirdness handling having proper layering in mind:
...
1. Add helper class for sema checks for target attributes
2. Add helper class for codegen of target attributes
As a proof-of-concept - implement msp430's 'interrupt' attribute.
llvm-svn: 93118
2010-01-10 12:58:08 +00:00
Daniel Dunbar
d281a7146a
Fix PR5982, a refacto in checking for '=' in a -D argument.
...
llvm-svn: 93088
2010-01-10 00:46:21 +00:00
Chris Lattner
e23003d1f1
implement -ftabstop=width, patch by Christian Adåker
...
llvm-svn: 93078
2010-01-09 21:54:33 +00:00
Chris Lattner
b71980f888
revert 91891, a workaround for PR5514.
...
llvm-svn: 93077
2010-01-09 21:45:57 +00:00
Benjamin Kramer
2d6fda3205
Use MacroBuilder for TargetDefines instead of std::vector.
...
llvm-svn: 93058
2010-01-09 17:55:51 +00:00
Benjamin Kramer
3f6323dea5
Move MacroBuilder into Frontend/Utils.h and clean it up a bit.
...
llvm-svn: 93057
2010-01-09 17:43:21 +00:00
Benjamin Kramer
f65e959035
Rework InitPreprocessor to use a MacroBuilder class instead of pushing around
...
std::vectors.
- MacroBuilder wraps a raw_ostream so it can easily write to any buffer
supported by raw_ostream.
- MacroBuilder's method take Twines for easy string concatenation (this was done
with sprintf and temporary buffers before).
- Targets still use std::vector as they don't have access to the builder.
llvm-svn: 93051
2010-01-09 16:17:37 +00:00
Kovarththanan Rajaratnam
e8ed5be89f
Switch UndefineBuiltinMacro() over to using StringRef
...
llvm-svn: 93049
2010-01-09 09:31:32 +00:00
Kovarththanan Rajaratnam
2f14619d89
Switch DefineBuiltinMacro() over to using StringRef
...
llvm-svn: 93048
2010-01-09 09:27:11 +00:00
Chris Lattner
002ba6b4d0
improve support for dragonfly, patch by Sascha Wildner!
...
llvm-svn: 93044
2010-01-09 05:41:14 +00:00
Dan Gohman
d1e76b957b
Use -fno-math-errno by default, and remove the IsMathErrnoDefault
...
targethook, which is no longer being used. This fixes PR5971.
llvm-svn: 92987
2010-01-08 02:20:44 +00:00
Fariborz Jahanian
39d70940e4
clang ObjC rewriter: generated code used in "for (x in y)" loop uses
...
incorrect cast, causing compile error (fixes radar 7342867).
llvm-svn: 92986
2010-01-08 01:29:44 +00:00
Fariborz Jahanian
bc6811c32e
Fixes a bug where we were rewriting two definitions of
...
_objc_method (part of radar 7490408).
llvm-svn: 92957
2010-01-07 22:51:18 +00:00
Fariborz Jahanian
1444230c40
Fixes a bug in my last patch (related to radar 7490331).
...
llvm-svn: 92952
2010-01-07 22:15:31 +00:00
Fariborz Jahanian
9ab6349f2a
Avoid error when convering a pointer to integer in
...
rewriting.
llvm-svn: 92925
2010-01-07 18:31:42 +00:00
Fariborz Jahanian
0f3aecf272
Fix rewriting of ivars. Fixes radar 7490331.
...
llvm-svn: 92924
2010-01-07 18:18:32 +00:00
Kovarththanan Rajaratnam
49c8da95a3
Convert from char pointer to char array
...
llvm-svn: 92923
2010-01-07 18:11:14 +00:00
Ted Kremenek
db2ef3732f
Fix typo: rename Rewriter::getRewritenText() -> Rewriter::getRewrittenText().
...
llvm-svn: 92922
2010-01-07 18:00:35 +00:00
Kovarththanan Rajaratnam
b53c7d4d9d
Tigthen scope of local char array
...
llvm-svn: 92917
2010-01-07 16:01:54 +00:00
Ted Kremenek
c7c6431860
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).
llvm-svn: 92891
2010-01-07 01:20:12 +00:00
Douglas Gregor
10f1e4dda8
When suggesting a typo correction for an @implementation without a
...
corresponding @interface, provide a note showing which interface we're
referring to. This note has the fix-it hint on it.
Also, don't automatically apply fix-it hints for notes. They're meant
to express fix-its that would change semantics.
llvm-svn: 92870
2010-01-06 23:44:25 +00:00
Douglas Gregor
03e8bdc07e
Move the allocation of designators in DesignatedInitExpr to the
...
ASTContext. Fixes <rdar://problem/7495428>.
llvm-svn: 92867
2010-01-06 23:17:19 +00:00
Fariborz Jahanian
b8646edecd
Fixed a bug where initializer is a macro in rewrite.
...
llvm-svn: 92801
2010-01-05 23:06:29 +00:00
Fariborz Jahanian
7fac65572f
API support for __block variables which are also __weak.
...
llvm-svn: 92755
2010-01-05 19:21:35 +00:00
Fariborz Jahanian
f794543472
Minor clean up.
...
llvm-svn: 92746
2010-01-05 18:15:57 +00:00
Steve Naroff
7bf01ea165
Remove bogus "C" from preamble block decls.
...
llvm-svn: 92744
2010-01-05 18:09:31 +00:00
Fariborz Jahanian
e389158dbf
More rewriting of __block APIs. wip.
...
llvm-svn: 92742
2010-01-05 18:04:40 +00:00
Steve Naroff
3d38a68b06
Fix <rdar://problem/7490212> clang rewriter: return of the mixed line endings, which is
...
related to <rdar://problem/6596843> clang ObjC rewriter: Line endings still mixed in rewrite output
This fix was dropped when I integrated the 'objective-rewrite' branch.
llvm-svn: 92737
2010-01-05 17:33:23 +00:00
Fariborz Jahanian
8c07e75a61
More rewriting of __block objective-c pointer variables. wip.
...
llvm-svn: 92558
2010-01-05 01:16:51 +00:00
Mike Stump
f86bf4abfa
Fix warnings.
...
llvm-svn: 92551
2010-01-05 00:29:29 +00:00
Ted Kremenek
de8e7447b6
Remove references to 'Checker' and 'GRTransferFuncs' from
...
GRStateManager. Having these references was an abstraction violation,
as they really should only be known about GRExprEngine.
This change required adding a new 'ProcessAssume' callback in
GRSubEngine. GRExprEngine implements this callback by calling
'EvalAssume' on all registered Checker objects as well as the
registered GRTransferFunc object.
llvm-svn: 92549
2010-01-05 00:15:18 +00:00
Mike Stump
90be58afce
Remember if the AsmStmt came from Microsoft-style inline assembly code.
...
llvm-svn: 92526
2010-01-04 22:37:17 +00:00
Fariborz Jahanian
d6cba5065f
More rewriting of __block declared objective-c/block pointers.
...
This is wip.
llvm-svn: 92501
2010-01-04 19:50:07 +00:00
Douglas Gregor
9882a5aac6
Teach Preprocessor::macro_begin/macro_end to lazily load all macro
...
definitions from a precompiled header. This ensures that
code-completion with macro names behaves the same with or without
precompiled headers.
llvm-svn: 92497
2010-01-04 19:18:44 +00:00
Eli Friedman
c6f59b1c49
Better coverage for -dump-record-layouts and -print-decl-contexts.
...
llvm-svn: 92441
2010-01-03 02:01:11 +00:00
Zhongxing Xu
b0e15df36b
Let constraint manager inform checkers that some assumption logic has happend.
...
Add new states for symbolic regions tracked by malloc checker. This enables us
to do malloc checking more accurately. See test case.
Based on Lei Zhang's patch and discussion.
llvm-svn: 92342
2009-12-31 06:13:07 +00:00
Fariborz Jahanian
92368a15f9
When rewriting a __block declaration, use a suitable API to get location of
...
the declaration in the presence of an initializer macro.
llvm-svn: 92312
2009-12-30 20:38:08 +00:00
Zhongxing Xu
4629e92e78
Remove an duplicated #include.
...
llvm-svn: 92306
2009-12-30 06:48:20 +00:00
Anders Carlsson
88ea2455f8
Get rid of FixedWidthIntType, as suggested by Chris and Eli.
...
llvm-svn: 92246
2009-12-29 07:07:36 +00:00
Fariborz Jahanian
65e6bd6246
More cleanup/refactoring of the rewrite.
...
llvm-svn: 92062
2009-12-23 21:52:32 +00:00
Fariborz Jahanian
4bf727d9e1
Some cleanup and refactoring of rewriter.
...
llvm-svn: 92049
2009-12-23 21:18:41 +00:00
Fariborz Jahanian
cbdcfe802a
This patch concludes rewriteing of __block variables to allow
...
a small test case using Block_copy(...) API to pass.
llvm-svn: 92038
2009-12-23 20:32:38 +00:00
Fariborz Jahanian
25c07fa224
Removed a FIXME comment.
...
llvm-svn: 92028
2009-12-23 19:26:34 +00:00
Fariborz Jahanian
7df3980609
More rewriting of __block variables.
...
llvm-svn: 92027
2009-12-23 19:22:33 +00:00
Chris Lattner
b089c1de55
switch -Werror/-Wfatal-errors error conditions to use diagnostics instead
...
of printf, patch by Christian Adaker!
llvm-svn: 92019
2009-12-23 18:53:37 +00:00
Kovarththanan Rajaratnam
55e74a1a6a
Remove RewriteBlocks. It has been superseded by RewriteObjC
...
llvm-svn: 92014
2009-12-23 18:03:34 +00:00
Steve Naroff
13468371a7
Add support for handling initializers in RewriteObjC::RewriteByRefVar().
...
As the FIXME indicates, RewriteByRefVar() won't work for multiple declarators (in general). I've discussed this with Fariborz and he is aware of the limitation.
llvm-svn: 92007
2009-12-23 17:24:33 +00:00
Zhongxing Xu
d803cc51af
Register call inliner as the last checker.
...
llvm-svn: 91992
2009-12-23 09:15:19 +00:00
Zhongxing Xu
2923046ec4
Migrate the call inliner to the Checker interface.
...
llvm-svn: 91991
2009-12-23 08:56:18 +00:00
Fariborz Jahanian
02e07737a9
Patch to do more rewrite of __block variables.
...
Still WIP.
llvm-svn: 91977
2009-12-23 02:07:37 +00:00
Chris Lattner
801fda871b
implement -W[no-]fatal-errors, patch by Christian Adåker!
...
llvm-svn: 91938
2009-12-22 23:12:53 +00:00
Douglas Gregor
dc72875d25
Serialize the NoReturn bit on FunctionTypes for precompiled headers
...
llvm-svn: 91911
2009-12-22 18:11:50 +00:00
Anders Carlsson
3caa2b486d
Work around PR5514.
...
llvm-svn: 91891
2009-12-22 06:13:42 +00:00
Fariborz Jahanian
8120346c57
Template code for rewrite of __block variables - wip.
...
llvm-svn: 91865
2009-12-22 00:48:54 +00:00
Fariborz Jahanian
e175eeb117
Providing support for rewriting of block copy/dispose of
...
imported block variables. WIP.
llvm-svn: 91856
2009-12-21 23:31:42 +00:00
Daniel Dunbar
91b640abfc
Fix a few MSVC warnings.
...
llvm-svn: 91714
2009-12-18 20:58:47 +00:00
Torok Edwin
d0139fd3e5
Debian has x86_64-linux-gnu, not x86_64-pc-linux-gnu, so add it.
...
llvm-svn: 91698
2009-12-18 17:43:54 +00:00
Torok Edwin
029707885c
Move the 4.4.2 c++ include search to the top, otherwise it was picking the 4.1.3
...
dirs on my system. Which is wrong, since it was missing the x86_64-pc-linux-gnu
suffix.
llvm-svn: 91694
2009-12-18 17:29:14 +00:00
Daniel Dunbar
a7d0231b66
clang -cc1: Rename -mcpu to -target-cpu to match other target options and not alias driver/backend option.
...
llvm-svn: 91671
2009-12-18 06:30:12 +00:00
Daniel Dunbar
24c7f5efc5
Add -dwarf-debug-flags, which provides a way to embed the cc1 level options used
...
to compile a translation unit into the debug info for that file.
- Used by parts of Darwin build process to check compiler flags, etc.
- <rdar://problem/7256886> clang does not emit AT_APPLE_flags
llvm-svn: 91661
2009-12-18 02:43:17 +00:00
Fariborz Jahanian
6ab7ed40c7
Implemented rewriting of invocation of a block ivar.
...
(radar 7482224).
llvm-svn: 91652
2009-12-18 01:15:21 +00:00
Daniel Dunbar
15cef0ed42
Fix -fdollars-in-identifiers Clang translation.
...
llvm-svn: 91562
2009-12-16 20:10:18 +00:00
Douglas Gregor
4f4b186215
When value-initializing a class with no user-defined constructors but
...
with a non-trivial default constructor, zero-initialize the storage
and then call the default constructor. Fixes PR5800.
llvm-svn: 91548
2009-12-16 18:50:27 +00:00
Nuno Lopes
13c88c7269
implement PR5654: add -fassume-sane-operator-new, which is enabled by default, and adds the malloc attribute to the global function new() and to the overloaded new operators.
...
feel free to chage the name to this lengthy argument
llvm-svn: 91543
2009-12-16 16:59:22 +00:00
Zhongxing Xu
686b8458f4
Expose C++ methods to GRExprEngine.
...
llvm-svn: 91506
2009-12-16 05:29:59 +00:00
Douglas Gregor
85dabae6ad
Switch the C++ new expression over to InitializationSequence, rather
...
than using its own partial implementation of initialization.
Switched CheckInitializerTypes over to
InitializedEntity/InitializationKind, to help move us closer to
InitializationSequence.
Added InitializedEntity::getName() to retrieve the name of the entity,
for diagnostics that care about such things.
Implemented support for default initialization in
InitializationSequence.
Clean up the determination of the "source expressions" for an
initialization sequence in InitializationSequence::Perform.
Taught CXXConstructExpr to store more location information.
llvm-svn: 91492
2009-12-16 01:38:02 +00:00
Fariborz Jahanian
d1a2d5719a
Implement conditional block invocation rewrite
...
and some clean up and a block rewriter test.
llvm-svn: 91435
2009-12-15 17:30:20 +00:00
Zhongxing Xu
765f3e4f35
Add comments.
...
llvm-svn: 91430
2009-12-15 09:32:42 +00:00
Zhongxing Xu
950978a44b
Remove displayProgress parameter.
...
llvm-svn: 91429
2009-12-15 09:09:49 +00:00
Daniel Dunbar
a5a166d01a
Add -resource-dir to clang -cc1, this allows the base directory for compiler
...
resources (e.g., /usr/lib/clang/1.1) to be passed on the command line instead of
computed.
llvm-svn: 91370
2009-12-15 00:06:45 +00:00
Daniel Dunbar
8d4a202aad
Lift builtin-include-path logic out of ASTUnit::LoadFromCommandLine and fix CIndex to pass in the right directory (previously it was using the path to the main executable, which generally is wrong).
...
llvm-svn: 91238
2009-12-13 03:46:13 +00:00
Daniel Dunbar
d613677ec9
CompilerInvocation: Move builtin-include-path logic out of CompilerInvocation::CreateFromArgs.
...
llvm-svn: 91237
2009-12-13 03:45:58 +00:00
Daniel Dunbar
efa39f7db1
Backend: Switch to using TargetOptions or TargetMachine to set some options instead of llvm::cl.
...
llvm-svn: 91229
2009-12-12 23:01:36 +00:00
Jeffrey Yasskin
1615d45daa
Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gave
...
no extra safety anyway.
llvm-svn: 91207
2009-12-12 05:05:38 +00:00
Eli Friedman
3950e8c411
Fix for PR4642: move work in HTMLPrinter out of the destructor.
...
llvm-svn: 91205
2009-12-12 03:36:52 +00:00
Mike Stump
d954638f02
Implement runtime checks for undefined behavior. WIP.
...
This implements a new flag -fcatch-undefined-behavior. The flag turns
on additional runtime checks for:
T a[I];
a[i] abort when i < 0 or i >= I.
Future stuff includes shifts by >= bitwidth amounts.
llvm-svn: 91198
2009-12-12 01:27:46 +00:00
Ted Kremenek
752ecd8818
We should only scan for nested blocks if we are analyzing the body of a function/method.
...
llvm-svn: 91196
2009-12-12 01:04:14 +00:00
Daniel Dunbar
520d1e6c6b
Update docs/comments/utils/examples to refer to clang -cc1 instead of clang-cc.
...
llvm-svn: 91176
2009-12-11 23:04:35 +00:00
Nuno Lopes
221c1fd63e
spread 'const' love to some variables. this considerably reduces the amount of dirty data around.
...
llvm-svn: 91002
2009-12-10 00:07:02 +00:00
John McCall
5677499fbf
First pass at implementing C++ enum semantics: calculate (and store) an
...
"integer promotion" type associated with an enum decl, and use this type to
determine which type to promote to. This type obeys C++ [conv.prom]p2 and
is therefore generally signed unless the range of the enumerators forces
it to be unsigned.
Kills off a lot of false positives from -Wsign-compare in C++, addressing
rdar://7455616
llvm-svn: 90965
2009-12-09 09:09:27 +00:00
Ted Kremenek
06ba78d07d
Fix crash in DisplayFunction(). ObjCInterfaceDecls can also get passed to this function, but we don't want to display them.
...
llvm-svn: 90944
2009-12-09 03:45:19 +00:00
Chris Lattner
53d80e2c07
Neil points out that this could be simplified, do it.
...
llvm-svn: 90927
2009-12-09 02:08:14 +00:00
Daniel Dunbar
e07f152e6d
Increase inlining threshold at -O3, to match llvm-gcc.
...
llvm-svn: 90897
2009-12-08 23:15:55 +00:00
Benjamin Kramer
c6ad84cb3c
Twinify InitHeaderSearch::AddPath and use it in C++ include path generation.
...
llvm-svn: 90853
2009-12-08 12:38:20 +00:00
Benjamin Kramer
141c7f987a
Use StringRefs in InitHeaderSearch::AddDelimitedPaths.
...
llvm-svn: 90852
2009-12-08 12:11:06 +00:00
John McCall
ce54657e95
DeclRefExpr stores a ValueDecl internally.
...
Template instantiation can re-use DeclRefExprs.
llvm-svn: 90848
2009-12-08 09:08:17 +00:00
Eli Friedman
897bc03305
Small compatibility fix for -print-decl-contexts.
...
llvm-svn: 90838
2009-12-08 06:22:37 +00:00
Jeffrey Yasskin
567ae47b4a
Remove several .c_str() to be forward-compatible with StringRef.
...
llvm-svn: 90822
2009-12-08 01:46:24 +00:00
Ted Kremenek
6818991d71
Add clang-cc option '-analyzer-opt-analyze-nested-blocks' to treat block literals as an entry point for analyzer checks.
...
llvm-svn: 90810
2009-12-07 22:06:12 +00:00
Nuno Lopes
c4413fbb88
add fedora 12 include path
...
llvm-svn: 90772
2009-12-07 17:18:48 +00:00
John McCall
bcd035061d
DeclaratorInfo -> TypeSourceInfo. Makes an effort to rename associated variables,
...
but the results are imperfect.
For posterity, I did:
cat <<EOF > $cmdfile
s/DeclaratorInfo/TypeSourceInfo/g
s/DInfo/TInfo/g
s/TypeTypeSourceInfo/TypeSourceInfo/g
s/SourceTypeSourceInfo/TypeSourceInfo/g
EOF
find lib -name '*.cpp' -not -path 'lib/Parse/*' -exec sed -i '' -f $cmdfile '{}' \;
find lib -name '*.h' -exec sed -i '' -f $cmdfile '{}' \;
find include -name '*.h' -not -path 'include/clang/Parse/*' -not -path 'include/clang/Basic/*' -exec sed -i '' -f $cmdfile '{}' \;
llvm-svn: 90743
2009-12-07 02:54:59 +00:00
Chris Lattner
9dfed9fdb6
fix -dM with variadic macros, PR5699
...
llvm-svn: 90735
2009-12-07 01:58:34 +00:00
Chris Lattner
76b4445d6f
some code cleanup.
...
llvm-svn: 90732
2009-12-07 01:42:56 +00:00
Steve Naroff
30484700c5
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=81871
http://llvm.org/viewvc/llvm-project?view=rev&revision=81936
http://llvm.org/viewvc/llvm-project?view=rev&revision=81945
llvm-svn: 90718
2009-12-06 21:14:13 +00:00
Daniel Dunbar
a6cb9f21be
Fix an off by one in findEndOfWord, which could scan past the end of the string in a corner case.
...
llvm-svn: 90703
2009-12-06 09:56:18 +00:00
Steve Naroff
287a2bfc03
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=86026
Note: The 'improved debugging' changes weren't integrated (since they were later reverted, since they didn't improve debugging).
llvm-svn: 90693
2009-12-06 01:52:22 +00:00
Steve Naroff
94ed6dc906
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=82174
llvm-svn: 90692
2009-12-06 01:48:44 +00:00
Steve Naroff
2b3843df1b
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=72893
llvm-svn: 90690
2009-12-06 01:33:56 +00:00
Steve Naroff
66aaa39568
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=71473
llvm-svn: 90688
2009-12-06 01:02:14 +00:00
Benjamin Kramer
acc5fa153d
Don't call back() on an empty vector.
...
llvm-svn: 90678
2009-12-05 22:16:51 +00:00
Steve Naroff
ec60b43ee2
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=71225
http://llvm.org/viewvc/llvm-project?view=rev&revision=73207
http://llvm.org/viewvc/llvm-project?view=rev&revision=73414
llvm-svn: 90677
2009-12-05 21:43:12 +00:00
Steve Naroff
e70a52a00c
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=71086
http://llvm.org/viewvc/llvm-project?view=rev&revision=71107
Note: This fixes <rdar://problem/6845623> from protocol to template.
llvm-svn: 90665
2009-12-05 15:55:59 +00:00
Steve Naroff
c275f70bf9
Remove 'LangOpts' from Diagnostic (added in http://llvm.org/viewvc/llvm-project?view=rev&revision=90642 ).
...
Simply use the 'LangOpts' member already present in TextDiagnosticPrinter.
Sorry for the confusion!
llvm-svn: 90664
2009-12-05 12:23:07 +00:00
Steve Naroff
4fb3d9fcd7
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=71086
Note - This commit only includes the fix for:
<rdar://problem/6309338> slightly different error message format for Visual Studio.
The fix for <rdar://problem/6845623> from protocol to template. is separate/forthcoming.
llvm-svn: 90642
2009-12-05 02:14:08 +00:00
John McCall
b96ec56871
Fix "using typename" and the instantiation of non-dependent using declarations.
...
llvm-svn: 90614
2009-12-04 22:46:56 +00:00
Steve Naroff
b0e3390f53
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=70978
llvm-svn: 90597
2009-12-04 21:36:32 +00:00
Steve Naroff
f0df20a5ba
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=70926
llvm-svn: 90596
2009-12-04 21:29:41 +00:00
Steve Naroff
3ce3af2cb6
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=70922
llvm-svn: 90595
2009-12-04 21:18:19 +00:00
Daniel Dunbar
20c13165a0
PR5684: Fix refacto, the backend consumer was copying the Diagnostic object,
...
which meant that hasErrorOccurred() checks to prevent codegen-on-invalid weren't
working.
llvm-svn: 90560
2009-12-04 08:17:40 +00:00
Daniel Dunbar
644dca07b9
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.
llvm-svn: 90559
2009-12-04 08:17:33 +00:00
Chris Lattner
2474a7e9c2
Use PresumedLoc when emitting the 'included from' diagnostics. For a malformed
...
test like this:
#line 4 "foo"
#define XX ?
#if XX
#endif
We now emit:
In file included from t.c:7:
foo:7:5: error: invalid token at start of a preprocessor expression
#if XX
^
foo:5:12: note: instantiated from:
#define XX ?
^
instead of:
In file included from t.c:7:
foo:7:5: error: invalid token at start of a preprocessor expression
#if XX
^
./t.h:6:12: note: instantiated from:
#define XX ?
^
(where the note doesn't obey #line or print the include stack when needed).
This fixes PR5617
llvm-svn: 90554
2009-12-04 07:06:35 +00:00
Eli Friedman
3de20c55e9
Missed change from last commit.
...
llvm-svn: 90550
2009-12-04 06:46:54 +00:00
Ted Kremenek
a3536e23c8
Try to make the output of PlistDiagnostics more deterministic by sorting PathDiagnostics before they are emitted. Fixes <rdar://problem/7439668>.
...
llvm-svn: 90478
2009-12-03 19:35:02 +00:00
Daniel Dunbar
6dac935b1f
Fix two more diagnostic-on-stderr instances that thought they could hide from me -- they thought wrong.
...
llvm-svn: 90442
2009-12-03 09:14:12 +00:00
Daniel Dunbar
f680e7d855
Kill a few more random stderr uses.
...
llvm-svn: 90441
2009-12-03 09:14:02 +00:00
Daniel Dunbar
f5bda7b5eb
Use llvm_report_error instead of fprintf + assert + exit.
...
llvm-svn: 90438
2009-12-03 09:13:36 +00:00
Daniel Dunbar
7554699afa
Fix CompilerInstance::createOutputFile to use proper diagnostics, and (try to) update all clients to be able to handle failure.
...
llvm-svn: 90437
2009-12-03 09:13:30 +00:00
Daniel Dunbar
692bc47d25
Remove an unnecessary (I believe) exit() on error.
...
llvm-svn: 90436
2009-12-03 09:13:19 +00:00
Daniel Dunbar
3b95148ce1
Switch PCHReader::getOriginalSourceFile to use proper diagnostics.
...
llvm-svn: 90434
2009-12-03 09:13:06 +00:00
Daniel Dunbar
acadc55d4e
Fix BackendConsumer to use proper diagnostics.
...
llvm-svn: 90433
2009-12-03 09:12:54 +00:00
Daniel Dunbar
215ca5f199
clang-cc: Honor -help and -version when using new style option parsing.
...
llvm-svn: 90422
2009-12-03 07:01:58 +00:00
Daniel Dunbar
6048e7fdc0
Add clang -cc1 support for -remap-file.
...
llvm-svn: 90414
2009-12-03 05:11:16 +00:00
Daniel Dunbar
da7a52289f
Add clang -cc1 -load option.
...
llvm-svn: 90413
2009-12-03 05:11:05 +00:00
Daniel Dunbar
59203007ac
Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate and simplify.
...
llvm-svn: 90379
2009-12-03 01:45:44 +00:00
Daniel Dunbar
a18f9580e4
ASTUnit: Explicitly track whether the ASTUnit came from an actual AST or not.
...
llvm-svn: 90349
2009-12-02 21:47:43 +00:00
Daniel Dunbar
4897349a79
ASTUnit: Fix initialization of OnlyLocalDecls variable, and honor UseBumpAllocator.
...
llvm-svn: 90348
2009-12-02 21:47:32 +00:00
Mike Stump
c01c2b87e8
Change rtti/Rtti to RTTI, as it is an acronym.
...
llvm-svn: 90334
2009-12-02 18:57:08 +00:00
Douglas Gregor
407e2124bf
Extend -remap-file=from;to to permit mapping from a non-existent
...
file. This is accomplished by introducing the notion of a "virtual"
file into the file manager, which provides a FileEntry* for a named
file whose size and modification time are known but which may not
exist on disk.
Added a cute little test that remaps both a .c file and a .h file it
includes to alternative files.
llvm-svn: 90329
2009-12-02 18:12:28 +00:00
Douglas Gregor
6ae34abd1b
Move file-remapping logic into InitPreprocesor. No functionality change
...
llvm-svn: 90322
2009-12-02 16:32:41 +00:00
Daniel Dunbar
a8a509376c
Fix ASTUnit::getOriginalSourceFileName() when using ASTUnit's derived from
...
source files.
llvm-svn: 90311
2009-12-02 08:44:16 +00:00
Daniel Dunbar
7afbb8c08c
ASTUnit: Don't create an LLVMContext, it shouldn't be needed.
...
llvm-svn: 90310
2009-12-02 08:43:56 +00:00
Douglas Gregor
d062bff7ee
Introduce a new clang-cc option
...
-remap-file=from;to
which takes the file "from" and transparently replaces its contents
with the contents of the file "to" from the source manager's
perspective. This is the moral equivalent of
cp from saved
cp to from
<call clang>
cp saved from
rm saved
without all of the pesky file copying.
llvm-svn: 90307
2009-12-02 08:08:39 +00:00
Douglas Gregor
53ad6b94b0
Extend the source manager with the ability to override the contents of
...
files with the contents of an arbitrary memory buffer. Use this new
functionality to drastically clean up the way in which we handle file
truncation for code-completion: all of the truncation/completion logic
is now encapsulated in the preprocessor where it belongs
(<rdar://problem/7434737>).
llvm-svn: 90300
2009-12-02 06:49:09 +00:00
Daniel Dunbar
55a17b66cd
Add ASTUnit::LoadFromCommandLine, which creates an ASTUnit out of a list of
...
(clang/driver) command line arguments (including the source file).
- The arguments are expected to include the source file.
- The idea is that even though this is a somewhat odd API, its the form which
many tools can most easily use (for example, by interposing with the compiler).
Also, switch index-test's -ast-from-source to use this entry point, and provide
a -arg command line argument which can be used to test that the command line
arguments are handled correctly.
llvm-svn: 90288
2009-12-02 03:23:45 +00:00
Daniel Dunbar
d2f8be3629
ASTUnit: Make sure to preserve the TargetInfo for later use.
...
llvm-svn: 90263
2009-12-01 21:57:33 +00:00
Rafael Espindola
f8a04a1d6e
Exit the command line into <built-in> instead of going directly from the command line to the input file.
...
We passed <built-in> on the way in, so we should pass it again on the way out.
llvm-svn: 90250
2009-12-01 18:28:16 +00:00
Daniel Dunbar
764c082027
Add ASTUnit::LoadFromCompilerInvocation, which does what it says.
...
Also, add an -ast-from-source option to index-test which allows index-test to
run on source files directly.
llvm-svn: 90223
2009-12-01 09:51:01 +00:00
Douglas Gregor
f09935f16c
Switch the clang-to-CIndex interface for code-completion to a binary format, for a massive speedup
...
llvm-svn: 90209
2009-12-01 05:55:20 +00:00
Daniel Dunbar
c70c39300f
clang -cc1: Move CompilerInvocation deserialization into CompilerInvocation.cpp,
...
where it belongs.
llvm-svn: 90198
2009-12-01 03:16:53 +00:00
Daniel Dunbar
a74f8ff15c
Add CodeGenOptions::{SoftFloat,FloatABI}, and update the all the (far too many) places to use this instead of using the backend -soft-float and -float-abi= options.
...
llvm-svn: 90127
2009-11-30 08:42:00 +00:00
Daniel Dunbar
05762b1344
Add TextDiagnosticBuffer::FlushDiagnostics, for forwarding the buffered diagnostics to a different diagnostics engine.
...
llvm-svn: 90125
2009-11-30 08:41:34 +00:00
Daniel Dunbar
8e70505692
Eliminate CodeGenOptions::TimePasses.
...
llvm-svn: 90118
2009-11-30 08:39:52 +00:00
Daniel Dunbar
de18224d9c
Eliminate CodeGenOptions::SimplifyLibCalls.
...
llvm-svn: 90117
2009-11-30 08:39:32 +00:00
Chris Lattner
710bb87147
Fix PR5633 by making the preprocessor handle the case where we can
...
stat a file but where mmaping it fails. In this case, we emit an
error like:
t.c:1:10: fatal error: error opening file '../../foo.h'
instead of "cannot find file".
llvm-svn: 90110
2009-11-30 04:18:44 +00:00