- Feb 23, 2009
-
-
Steve Naroff authored
- Generate error for protocol qualifiers on non-ObjC types. llvm-svn: 65333
-
http://llvm.org/viewvc/llvm-project?view=rev&revision=65244Steve Naroff authored
Remove support for "Class<P>". Will be making this an error. llvm-svn: 65332
-
Steve Naroff authored
I don't think casting super makes any sense (since it won't effect method lookup). Will discuss with other offline and decide what to do. llvm-svn: 65317
-
Steve Naroff authored
Sema::ActOnInstanceMessage(): Tighen up the lookup rules for handling messages to 'Class'. Also improve "super" handling. llvm-svn: 65300
-
- Feb 22, 2009
-
-
Steve Naroff authored
llvm-svn: 65293
-
Steve Naroff authored
Contains the following (related to problems found while investigting <rdar://problem/6497631> Message lookup is sometimes different than gcc's). - Implement instance/class overloading in ObjCContainerDecl (removing a FIXME). This involved hacking NamedDecl::declarationReplaces(), which took awhile to figure out (didn't realize replace was the default). - Changed Sema::ActOnInstanceMessage() to remove redundant warnings when dealing with protocols. For now, I've omitted the "protocol" term in the diagnostic. It simplifies the code flow and wan't always 100% accurate (e.g. "Foo<Prot>" looks in the class interface, not just the protocol). - Changed several test cases to jive with the above changes. llvm-svn: 65292
-
Eli Friedman authored
helper isConstantInitializer) to check whether an initializer is constant. This passes tests, but it's possible that it'll cause regressions with real-world code. Future work: 1. The diagnostics obtained this way are lower quality at the moment; some work both here and in Evaluate is needed for accurate diagnostics. 2. We probably need some extra code when we're in -pedantic mode so we can strictly enforce the rules in C99 6.6p7. 3. Dead code cleanup (this should wait until after 2, because we might want to re-use some of the code). llvm-svn: 65265
-
Steve Naroff authored
llvm-svn: 65257
-
Anders Carlsson authored
llvm-svn: 65256
-
- Feb 21, 2009
-
-
Steve Naroff authored
This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's. llvm-svn: 65248
-
Steve Naroff authored
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
-
Steve Naroff authored
llvm-svn: 65241
-
Fariborz Jahanian authored
variable (objc2 gc specific). llvm-svn: 65240
-
Steve Naroff authored
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
-
Eli Friedman authored
pointer types. llvm-svn: 65210
-
Eli Friedman authored
llvm-svn: 65208
-
- Feb 20, 2009
-
-
-
Chris Lattner authored
llvm-svn: 65170
-
Chris Lattner authored
llvm-svn: 65169
-
Chris Lattner authored
but don't start using it yet. Renamed some methods to be more consistent. llvm-svn: 65168
-
Chris Lattner authored
it from being leaked, among other things. llvm-svn: 65150
-
Anders Carlsson authored
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
-
Chris Lattner authored
interfaces more consistently. llvm-svn: 65138
-
-
Eli Friedman authored
This prevents emitting diagnostics which are almost certainly useless. (Note that the test is checking that we emit only one diagnostic.) llvm-svn: 65101
-
Chris Lattner authored
use Blocks for our callbacks ;-) llvm-svn: 65083
-
Chris Lattner authored
information about types. We often print diagnostics where we say "foo_t" is bad, but the user doesn't know how foo_t is declared (because it is a typedef). Fix this by expanding sugar when present in a diagnostic (and not one of a few special cases, like vectors). Before: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' and 'typeof(F)') MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ After: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' (aka 'struct mystruct') and 'typeof(F)' (aka 'float')) MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ llvm-svn: 65081
-
Chris Lattner authored
llvm-svn: 65076
-
- Feb 19, 2009
-
-
Mike Stump authored
appear to be constant. I'll probably redo this and throw it all away later once we have codegen for BlockDeclRefExprs. llvm-svn: 65070
-
Daniel Dunbar authored
- <rdar://problem/6094103> sema fails to promote type arguments to __builtin_isgreater (and friends) llvm-svn: 65059
-
Anders Carlsson authored
llvm-svn: 65055
-
Anders Carlsson authored
llvm-svn: 65023
-
Chris Lattner authored
llvm-svn: 65006
-
Mike Stump authored
llvm-svn: 65000
-
Mike Stump authored
llvm-svn: 64998
-
Douglas Gregor authored
llvm-svn: 64993
-
Fariborz Jahanian authored
No change in functionality. llvm-svn: 64989
-
Chris Lattner authored
llvm-svn: 64975
-
- Feb 18, 2009
-
-
Chris Lattner authored
llvm-svn: 64972
-
Douglas Gregor authored
C*. They're required errors in C++. llvm-svn: 64964
-