Fariborz Jahanian
a9fecf3f9e
local array of objects are non-gc'able.
...
llvm-svn: 65251
2009-02-21 23:37:19 +00:00
Steve Naroff
8487e3e541
More work to integrate newly added ObjCQualifiedClassType into the type system.
...
This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's.
llvm-svn: 65248
2009-02-21 21:17:01 +00:00
Daniel Dunbar
3283ff5088
Put compiler headers in <prefix>/lib/clang/1.0/include (vs
...
<prefix>/Headers, gross).
llvm-svn: 65247
2009-02-21 20:52:41 +00:00
Steve Naroff
670e72ddc7
Add support for GCC ObjC extension "Class<protocol>". Sigh.
...
Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's.
Will never be seen in user code. Needed to pass dejagnu testsuite.
llvm-svn: 65244
2009-02-21 20:17:11 +00:00
Mike Stump
2ac40a9ff8
The blocks ABI is wrong, add a FIXME.
...
llvm-svn: 65243
2009-02-21 20:07:44 +00:00
Mike Stump
cb2fbcb0c9
Add CodeGen support for the helper for BlockDeclRefExprs. The easier
...
stuff is mostly done. Move BlockHasCopyDispose up.
llvm-svn: 65242
2009-02-21 20:00:35 +00:00
Steve Naroff
cd8d572283
Warn about bogus protocol qualifiers.
...
llvm-svn: 65241
2009-02-21 19:50:43 +00:00
Fariborz Jahanian
0c9404e0a7
Warn on use of __weak attribute on local
...
variable (objc2 gc specific).
llvm-svn: 65240
2009-02-21 19:44:02 +00:00
Fariborz Jahanian
2300ad57a0
Fix a bug whereby a pointer to a __weak was not recognized
...
as __weak (objc2 gc specific).
llvm-svn: 65238
2009-02-21 19:08:45 +00:00
Ted Kremenek
97ad7b689e
Use llvm::StringsEqualNoCase instead of strncasecmp.
...
llvm-svn: 65237
2009-02-21 18:26:02 +00:00
Fariborz Jahanian
ccfd554024
Fixed an ICE in meta-data generation of __weak/__strong ivars.
...
llvm-svn: 65235
2009-02-21 18:23:24 +00:00
Daniel Dunbar
79e042a8b5
Evaluation of unary deref could call integer evaluator on non-integral
...
expr; hilarity ensued.
- PR3640.
llvm-svn: 65234
2009-02-21 18:14:20 +00:00
Cedric Venet
4fc88b779e
Fix build on windows.
...
Should clang have a config.h or should we use the config.h of llvm or using the preprocessor is OK? I did a quick fix here, but having a guideline on how to handle non portable function would be great (or ask ted to stop breaking the windows build :)).
llvm-svn: 65233
2009-02-21 17:14:49 +00:00
Steve Naroff
da88fb9c73
Add test case to record a couple inconsistencies with GCC (found in <rdar://problem/6561076> [clang on Xcode] warning: cannot find protocol definition for 'OzzyP').
...
Removing the "cannot find protocol" warning is trivial if necessary (but I don't think it's the right thing to do).
llvm-svn: 65232
2009-02-21 17:03:43 +00:00
Steve Naroff
7a7814c32b
This fixes <rdar://problem/6497650> More type mismatches issues with clang.
...
Move two key ObjC typechecks from Sema::CheckPointerTypesForAssignment() to ASTContext::mergeTypes().
This allows us to take advantage of the recursion in ASTContext::mergeTypes(), removing some bogus warnings.
This test case I've added includes an example where we still warn (and GCC doesn't). Need to talk with folks and decide what to do. At this point, the major bogosities should be fixed.
llvm-svn: 65231
2009-02-21 16:18:07 +00:00
Ted Kremenek
bc7d915c4c
Update checker build.
...
llvm-svn: 65227
2009-02-21 06:58:08 +00:00
Ted Kremenek
8a73c71486
Improved naming convention heuristics in the retain/release checker to better
...
handle method names that contain 'new', 'copy', etc., but those words might be
the substring of larger words such as 'newsgroup' and 'photocopy' that do not
indicate the allocation of objects. This should address the issues discussed in
<rdar://problem/6552389>.
llvm-svn: 65224
2009-02-21 05:13:43 +00:00
Ted Kremenek
3f49f0f06d
Update scan-build help diagnostic.
...
llvm-svn: 65223
2009-02-21 04:46:41 +00:00
Ted Kremenek
6b8b0dfb90
Only create a preprocessed file for an ignored attribute if there currently does not exist an 'attribute_ignored_XXX.txt' file for that attribute.
...
llvm-svn: 65222
2009-02-21 04:46:20 +00:00
Eli Friedman
44c0f2aa88
Slight tweak to last commit: make sure to copy CVR qualifiers for fixed
...
pointer types.
llvm-svn: 65210
2009-02-21 00:58:02 +00:00
Eli Friedman
a3b1d03e2d
Re-fix r65140 correctly.
...
llvm-svn: 65208
2009-02-21 00:44:51 +00:00
Fariborz Jahanian
10bec1099c
Handle case of none gc'able objects regardless of their
...
type.
llvm-svn: 65205
2009-02-21 00:30:43 +00:00
Daniel Dunbar
3c81dabd76
Emit extern_weak when needed.
...
- PR3629.
llvm-svn: 65203
2009-02-21 00:24:10 +00:00
Daniel Dunbar
0c4eda5923
We must always mangle attribute overloadable functions; even if in a
...
system header.
- Prevents a codegen crash when anything used anything in tgmath! :)
llvm-svn: 65200
2009-02-20 23:09:27 +00:00
Steve Naroff
326064168a
Fix <rdar://problem/6500554> missing objc error message.
...
llvm-svn: 65198
2009-02-20 22:59:16 +00:00
Chris Lattner
70946da73a
switch the macroinfo argument lists from being allocated off the heap
...
to being allocated from the same bumpptr that the MacroInfo objects
themselves are.
This speeds up -Eonly cocoa.h pth by ~4%, fsyntax-only is barely measurable.
llvm-svn: 65195
2009-02-20 22:46:43 +00:00
Chris Lattner
f87c510cc9
detemplatify setArgumentList and some other cleanups.
...
llvm-svn: 65187
2009-02-20 22:31:31 +00:00
Chris Lattner
666f7a42d6
require the MAcroInfo objects are explcitly destroyed.
...
llvm-svn: 65179
2009-02-20 22:19:20 +00:00
Ted Kremenek
b98f0eb9af
Make 'RangeConstraintManager' the default ConstraintManager.
...
llvm-svn: 65173
2009-02-20 21:49:22 +00:00
Chris Lattner
7c981a79f7
allocate and dellocate objc decl list through AST Context instead of
...
with new/delete. With disable-free, this reduces the number of 4/8 byte
mallocs from 4793/1541 to 865/456 and also drops other sizes as well.
This is a very small perf win, nothing major.
llvm-svn: 65171
2009-02-20 21:44:01 +00:00
Chris Lattner
68d42c77b2
fix indentation
...
llvm-svn: 65170
2009-02-20 21:38:52 +00:00
Chris Lattner
696197cd30
silence some warnings in no asserts mode.
...
llvm-svn: 65169
2009-02-20 21:37:53 +00:00
Chris Lattner
2229872d2f
add plumbing to get ASTContext& down to allocation/deallocation points in ObjCList,
...
but don't start using it yet. Renamed some methods to be more consistent.
llvm-svn: 65168
2009-02-20 21:35:13 +00:00
Chris Lattner
4d1eb76ada
newly factored, we can now move the set and destroy methods out of line.
...
llvm-svn: 65166
2009-02-20 21:16:26 +00:00
Chris Lattner
f2b000c5dd
factor a bunch of common code out of the ObjCList template class
...
into a new shared ObjCListBase class.
llvm-svn: 65164
2009-02-20 21:14:14 +00:00
Ted Kremenek
b087942765
Greatly simplify the logic in ExplodedGraphImpl::TrimGraph. Now we just do a
...
vanilla reverse-BFS followed by a forward-DFS instead of resulting to strange
histrionics (whose purpose I can no longer remember) in the reverse-BFS stage.
This fixes an assertion failure in BugReporter due to edge cases where no root
was being hit in the reverse-BFS phase.
llvm-svn: 65160
2009-02-20 21:10:26 +00:00
Chris Lattner
a2e2167c25
prune #includes
...
llvm-svn: 65158
2009-02-20 21:06:29 +00:00
Chris Lattner
2e635f6102
rename ObjCList::clear() -> ObjCList::Destroy(). Require that destroy is called
...
before the dtor.
llvm-svn: 65156
2009-02-20 21:02:11 +00:00
Chris Lattner
f1ccb0cef0
rearrange the contents of DeclObjC to be by-class. Fix some 80 column issues
...
and other non-semantic changes.
llvm-svn: 65155
2009-02-20 20:59:54 +00:00
Daniel Dunbar
e8f256c7f9
Unbreak Darwin PIC handling; my refactoring yesterday was bogus.
...
llvm-svn: 65154
2009-02-20 20:52:47 +00:00
Chris Lattner
2d3a7be2f0
more random cleanups, add some fixme's. ObjCCategoryImplDecl really
...
shouldn't be a NamedDecl.
llvm-svn: 65153
2009-02-20 20:48:45 +00:00
Chris Lattner
a4af543375
destroy should forward to base class.
...
llvm-svn: 65151
2009-02-20 20:42:28 +00:00
Chris Lattner
d7ba858314
move the @implementation ivar list to being an ObjCList, which prevents
...
it from being leaked, among other things.
llvm-svn: 65150
2009-02-20 20:41:34 +00:00
Ted Kremenek
01144480fd
PTH generation: Clear the cleaning bit for literals (whose spellings are cached).
...
llvm-svn: 65148
2009-02-20 20:32:39 +00:00
Daniel Dunbar
2f3a3d9f7a
Add some IRgen improvement notes.
...
llvm-svn: 65146
2009-02-20 19:34:45 +00:00
Daniel Dunbar
27032de34b
Shorten; no functionality change.
...
llvm-svn: 65145
2009-02-20 19:34:33 +00:00
Chris Lattner
ed2776a85c
remove dead list.
...
llvm-svn: 65142
2009-02-20 18:57:29 +00:00
Daniel Dunbar
5006f4a5f0
Take advantage of noreturn attribute to add unreachable instruction &
...
clear insertion point. The rest of IRgen should theoretically take
advantage of this to avoid emitting dead code. Theory != Practice.
llvm-svn: 65141
2009-02-20 18:54:31 +00:00
Anders Carlsson
c4c6031859
Always try to fold array sizes, and warn if we could fold something that isn't an ICE. This makes us compatible with GCC.
...
llvm-svn: 65140
2009-02-20 18:53:20 +00:00
Daniel Dunbar
6ef6a04dd6
Fix test case.
...
llvm-svn: 65139
2009-02-20 18:53:07 +00:00