Benjamin Kramer
fb5f40f959
Avoid an instantiation of std::sort.
...
llvm-svn: 93882
2010-01-19 17:42:20 +00:00
John McCall
e15bbff98d
Preserve type source information in compound literal expressions.
...
Patch by Enea Zaffanella!
llvm-svn: 93752
2010-01-18 19:35:47 +00:00
Douglas Gregor
9a48db1659
Print fix-it hints properly around tabs, from Christian Adåker!
...
llvm-svn: 93750
2010-01-18 19:28:01 +00:00
Douglas Gregor
c9b7a59b30
Improve source-location information for builtin TypeLocs, from Enea
...
Zaffanella (with a couple of my tweaks).
llvm-svn: 93733
2010-01-18 18:04:31 +00:00
Douglas Gregor
8c94086c90
Encoding calling conventions in the type system, from Charles Davis!
...
llvm-svn: 93726
2010-01-18 17:14:39 +00:00
Nuno Lopes
28b40ddbe8
PR6055: fix FreeBSD c++ include path. patch by Roman Divacky
...
llvm-svn: 93668
2010-01-17 00:00:11 +00:00
Sam Weinig
d01101e2d7
Add PCH support for CXXStaticCastExpr, CXXDynamicCastExpr, CXXReinterpretCastExpr, CXXConstCastExpr and CXXFunctionalCastExpr.
...
llvm-svn: 93658
2010-01-16 21:21:01 +00:00
Fariborz Jahanian
faf85c0dbe
Fix a rewriting crash and correct rewriting of __block
...
declaration where its initializer has a type-cast.
llvm-svn: 93650
2010-01-16 19:36:43 +00:00
Douglas Gregor
071676f422
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.
llvm-svn: 93639
2010-01-16 16:38:58 +00:00
Douglas Gregor
002b671055
Keep track of the source locations for each protocol reference in
...
Objective-C classes, protocol definitions, forward protocol
declarations, and categories. This information isn't actually used
yet; that's coming next.
llvm-svn: 93636
2010-01-16 15:02:53 +00:00
Fariborz Jahanian
f0462ff691
define __weak to null in rewritten source for
...
-fms-extensions as well.
llvm-svn: 93569
2010-01-15 22:29:39 +00:00
John McCall
9751396d70
Preserve type source information in explicit cast expressions.
...
Patch by Enea Zaffanella.
llvm-svn: 93522
2010-01-15 18:39:57 +00:00
Fariborz Jahanian
5c26eeefdd
Do not do the block-specific rewrite when there is no block literals.
...
Fixes radar 7546096.
llvm-svn: 93519
2010-01-15 18:14:52 +00:00
Fariborz Jahanian
195ac2dfab
Patch to avoid duplicate declaration of byref structs
...
for __block variables of same name declared in multiple scopes.
Fixes radar 7540194
llvm-svn: 93474
2010-01-14 23:05:52 +00:00
Fariborz Jahanian
e2dd5428e6
Fix a bug in rewrite whereby functions using blocks put extern "C" in wrong place.
...
Fixes radar 7284618.
llvm-svn: 93382
2010-01-14 00:35:56 +00:00
John McCall
e8595036c4
Add type source information for both kinds of typeof types.
...
Patch by Enea Zaffanella.
llvm-svn: 93344
2010-01-13 20:03:27 +00:00
Fariborz Jahanian
3f7b8b274d
Predefine __weak attribute when doing objective-c
...
rewriting for any target. (refixes radar 7530235).
llvm-svn: 93331
2010-01-13 18:51:17 +00:00
Chris Lattner
3d756f1a9e
diagnose invalid values of -ftabstop, patch by Christian Adaker!
...
llvm-svn: 93288
2010-01-13 03:06:50 +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
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