| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 57864
|
| |
|
|
| |
llvm-svn: 57863
|
| |
|
|
|
|
|
|
|
| |
for strange asm conditions earlier. In this case, we have a
double being passed in an integer reg class. Convert to like
sized integer register so that we allocate the right number
for the class (two i32's for the f64 in this case).
llvm-svn: 57862
|
| |
|
|
|
|
| |
that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown.
llvm-svn: 57855
|
| |
|
|
|
|
| |
compound assignment when the result of the assignment is not known.
llvm-svn: 57852
|
| |
|
|
|
|
| |
compound assignment is UnknownVal().
llvm-svn: 57851
|
| |
|
|
|
|
| |
on id<protocol>.
llvm-svn: 57850
|
| |
|
|
| |
llvm-svn: 57847
|
| |
|
|
|
|
|
|
|
|
| |
is re-written by the callback to branch directly to the compiled code
in future invocations.
Added back in range-based memory permission functions for the updating of
the stub on Darwin.
llvm-svn: 57846
|
| |
|
|
| |
llvm-svn: 57845
|
| |
|
|
| |
llvm-svn: 57844
|
| |
|
|
| |
llvm-svn: 57843
|
| |
|
|
|
|
| |
of ObjC qualified id types to be consistent with gcc. This changes a handful of test case errors into warnings (diff will tell you which cases have changed).
llvm-svn: 57841
|
| |
|
|
|
|
|
|
|
| |
result type when the result type is legal but
not the operand type. Add additional support
for EXTRACT_SUBVECTOR and CONCAT_VECTORS,
needed to handle such cases.
llvm-svn: 57840
|
| |
|
|
|
|
|
|
| |
sensible for vectors being scalarized. Note
that this method can't return anything very
sensible when splitting non-power-of-two vectors.
llvm-svn: 57839
|
| |
|
|
| |
llvm-svn: 57838
|
| |
|
|
|
|
| |
with TLI.getPointerTy for a small simplification.
llvm-svn: 57837
|
| |
|
|
|
|
|
|
| |
the condition of a SELECT node. Make sure that the
correct extension type (any-, sign- or zero-extend)
is used.
llvm-svn: 57836
|
| |
|
|
| |
llvm-svn: 57834
|
| |
|
|
|
|
| |
use an MVT::i1 and simplify the code while there.
llvm-svn: 57833
|
| |
|
|
| |
llvm-svn: 57832
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
LowerOperation if it doesn't know what else to do.
This methods should probably be factorized some,
but this is good enough for the moment. Have
LowerATOMIC_BINARY_64 use EXTRACT_ELEMENT rather
than assuming the operand is a BUILD_PAIR (if it
is then getNode will automagically simplify the
EXTRACT_ELEMENT). This way LowerATOMIC_BINARY_64
usable from LegalizeTypes.
llvm-svn: 57831
|
| |
|
|
| |
llvm-svn: 57829
|
| |
|
|
| |
llvm-svn: 57828
|
| |
|
|
| |
llvm-svn: 57827
|
| |
|
|
| |
llvm-svn: 57820
|
| |
|
|
| |
llvm-svn: 57818
|
| |
|
|
|
|
| |
strcmp when needed.
llvm-svn: 57817
|
| |
|
|
| |
llvm-svn: 57816
|
| |
|
|
| |
llvm-svn: 57815
|
| |
|
|
| |
llvm-svn: 57814
|
| |
|
|
| |
llvm-svn: 57813
|
| |
|
|
|
|
| |
weird errors about property attributes being unknown.
llvm-svn: 57812
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
crash.m:8:12: error: type name requires a specifier or qualifier
@property (readonlyx, getter=isAwesome) int _awesome;
^
crash.m:8:29: error: expected ';' at end of declaration list
@property (readonlyx, getter=isAwesome) int _awesome;
^
crash.m:8:39: error: expected identifier or '('
@property (readonlyx, getter=isAwesome) int _awesome;
^
we now get:
crash.m:8:12: error: unknown property attribute 'readonlyx'
@property (readonlyx, getter=isAwesome) int _awesome;
^
Also, we can eliminate isObjCPropertyAttribute now.
llvm-svn: 57811
|
| |
|
|
| |
llvm-svn: 57810
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ParseObjCPropertyAttribute. Before, on this code (where
a comma was forgotten):
@property (readonly getter=isAwesome) int _awesome;
we emitted:
crash.m:9:11: error: expected ')'
@property (readonly getter=isAwesome) int _awesome;
^
crash.m:9:37: error: type name requires a specifier or qualifier
@property (readonly getter=isAwesome) int _awesome;
^
crash.m:9:37: error: expected identifier or '('
crash.m:9:37: error: expected ';' at end of declaration list
crash.m:9:1: error: @property requires fields to be named
@property (readonly getter=isAwesome) int _awesome;
^
now we emit:
crash.m:9:21: error: expected ')'
@property (readonly getter=isAwesome) int _awesome;
^
crash.m:9:11: error: to match this '('
@property (readonly getter=isAwesome) int _awesome;
^
llvm-svn: 57809
|
| |
|
|
| |
llvm-svn: 57808
|
| |
|
|
| |
llvm-svn: 57807
|
| |
|
|
| |
llvm-svn: 57806
|
| |
|
|
|
|
| |
@property (readonly) int : 4;
llvm-svn: 57805
|
| |
|
|
|
|
|
| |
occurs, skip to an @ or ; instead of to a } or ;. Properties
don't necessarily live in {}'s.
llvm-svn: 57804
|
| |
|
|
|
|
|
|
|
|
| |
Check for @end in ParseObjCInterfaceDeclList instead of in each caller
Handle @required and @optional with the same code
Add some fixmes about some apparently objc2 code that is being accepted
in objc1.
llvm-svn: 57803
|
| |
|
|
|
|
|
|
|
|
|
| |
where it would reject @required in non-protocols, but then go
ahead and tag methods with required anyway. Instead, if we see
this in something other than a protocol, just ignore the request.
Also, improve error recovery a bit when we see something bogus
inside an interface.
llvm-svn: 57798
|
| |
|
|
|
|
| |
to make it easier to understand. No functionality change.
llvm-svn: 57797
|
| |
|
|
|
|
| |
move it to its own predicate to make it more clear.
llvm-svn: 57796
|
| |
|
|
|
|
| |
can't stick an attributes?
llvm-svn: 57795
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of whether a '(' was a grouping paren or the start of a function declarator.
This is PR2796.
Now we eat the attribute before deciding whether the paren is grouping or
not, then apply it to the resultant decl or to the first argument as needed.
One somewhat surprising aspect of this is that attributes interact with
implicit int in cases like this:
void a(x, y) // k&r style function
void b(__attribute__(()) x, y); // function with two implicit int arguments
void c(x, __attribute__(()) y); // error, can't have attr in identifier list.
Fun stuff.
llvm-svn: 57790
|
| |
|
|
| |
llvm-svn: 57789
|
| |
|
|
| |
llvm-svn: 57788
|
| |
|
|
|
|
| |
when ObjC is turned on.
llvm-svn: 57787
|