Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Mike Stump
753d120975
Prep for new warning.
...
llvm-svn: 76709
2009-07-22 00:43:08 +00:00
Chris Lattner
9662cd3227
enhance the goto checker to reject jumps across __block variable definitions.
...
llvm-svn: 76376
2009-07-19 20:17:11 +00:00
Eli Friedman
9e81b02ec5
Don't allow defining a block with a non-prototype type. Remove a
...
hack which introduces some strange inconsistencies in compatibility
for block pointers.
Note that unlike an earlier revision proposed on cfe-commits, this patch
still allows declaring block pointers without a prototype.
llvm-svn: 73041
2009-06-08 04:24:21 +00:00
Mike Stump
5e16a0d9e7
Allow qualifiers on blocks. Radar 6441502
...
llvm-svn: 71183
2009-05-07 21:56:17 +00:00
Mike Stump
f70bcf7d1a
Tighten up relationals with blocks and ints. Radar 6441502
...
llvm-svn: 71171
2009-05-07 18:43:07 +00:00
Mike Stump
1b821b4fc5
Improve semantic checking for blocks. Radar 6441502
...
llvm-svn: 71145
2009-05-07 03:14:14 +00:00
Mike Stump
a71286315f
Add Sema checking for __block on vm declarations. Radar 6441502
...
llvm-svn: 70601
2009-05-01 23:41:47 +00:00
Mike Stump
e9efa80c00
Sema checking for incorrect placement of __block. Radar 6441502
...
llvm-svn: 70452
2009-04-30 00:19:40 +00:00
Mike Stump
3cfd5614e7
Resolve merge conflict better.
...
llvm-svn: 69748
2009-04-21 23:03:34 +00:00
Mike Stump
d79b5a85b0
Tighten up blocks type checking. This was discussed back in the
...
r56595 timeframe, but left undone. Radar 6812711
llvm-svn: 69745
2009-04-21 22:51:42 +00:00
Chris Lattner
41b8694777
Fix rdar://6814047, a crash on invalid in blocks code I noticed when
...
working on the previous fix.
llvm-svn: 69742
2009-04-21 22:38:46 +00:00
Chris Lattner
497d7b0c8a
fix marking of nested blocks with the "hasBlockDeclRefExprs" to
...
mark exactly the blocks which have references that are "live through".
This fixes a rejects valid:
rdar://6808730 - [sema] [blocks] block rejected at global scope
llvm-svn: 69738
2009-04-21 22:26:47 +00:00
Chris Lattner
b0cb5b2db2
merge two tests.
...
llvm-svn: 69466
2009-04-18 20:12:56 +00:00
Chris Lattner
96b3139773
abstract the SwitchStack for blocks just like we do the goto labels.
...
This fixes a crash on invalid (test10). rdar://6805469
llvm-svn: 69465
2009-04-18 20:10:59 +00:00
Chris Lattner
8560addfa6
add some block goto test cases.
...
llvm-svn: 69460
2009-04-18 19:32:54 +00:00
Mike Stump
cafa0a9746
Fix block comparisons. Radar 6732116.
...
llvm-svn: 68171
2009-04-01 01:17:39 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Mike Stump
f876bc9388
Fixup expected errors.
...
llvm-svn: 64074
2009-02-08 07:59:54 +00:00
Chris Lattner
79413956d4
change getCurFunctionDecl to skip through Block contexts to find
...
the containing block. Introduce a new getCurFunctionOrMethodDecl
method to check to see if we're in a function or objc method.
Minor cleanups to other related places. This fixes rdar://6405429.
llvm-svn: 60564
2008-12-04 23:50:19 +00:00
Chris Lattner
2ca529ce61
instead of forcing blocks on by default, make them default to off, but let
...
specific targets default them to on. Default blocks to on on 10.6 and later.
Add a -fblocks option that allows the user to override the target's default.
Use -fblocks in the various testcases that use blocks.
llvm-svn: 60563
2008-12-04 23:20:07 +00:00
Chris Lattner
9b3bbe9db7
Implement rdar://6319320: give a good diagnostic for cases where people
...
are trying to use the old GCC "casts as lvalue" extension. We don't and
will hopefully never support this.
llvm-svn: 59460
2008-11-17 19:51:54 +00:00
Chris Lattner
2a9d9897b7
Fix rdar://6257721 by tightening up the block "snapshot" check, and
...
move it to its own predicate to make it more clear.
llvm-svn: 57796
2008-10-20 05:16:36 +00:00
Chris Lattner
e9d291c038
Fix rdar://6251437, references to enum constant decls in a block
...
don't need a BlockDeclRefExpr.
llvm-svn: 56766
2008-09-28 05:30:26 +00:00
Steve Naroff
8de9c3affe
More type checking for blocks. Still incomplete (will hopefully finish up this weekend).
...
llvm-svn: 55862
2008-09-05 22:11:13 +00:00