| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
These were nops for quite a while and only lead to confusion. ASTMultiPtr
now behaves like a proper dumb array reference.
llvm-svn: 162475
|
|
|
|
| |
llvm-svn: 162452
|
|
|
|
|
|
| |
a gcc warning.
llvm-svn: 162444
|
|
|
|
| |
llvm-svn: 162430
|
|
|
|
|
|
|
| |
on a null pointer. (This function happens to work for a null 'this' pointer, so
no test.)
llvm-svn: 162427
|
|
|
|
| |
llvm-svn: 162424
|
|
|
|
| |
llvm-svn: 162416
|
|
|
|
|
|
| |
requires codegen support.
llvm-svn: 162410
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 162403
|
|
|
|
| |
llvm-svn: 162396
|
|
|
|
| |
llvm-svn: 162394
|
|
|
|
| |
llvm-svn: 162393
|
|
|
|
| |
llvm-svn: 162392
|
|
|
|
|
|
|
| |
Eventually, we'll need a way of mapping tokens (and their IdentifierInfo*) to
the operands computed by buildMSAsmPieces().
llvm-svn: 162388
|
|
|
|
| |
llvm-svn: 162385
|
|
|
|
|
|
|
| |
The parser still can't handle all cases, so fall back to emitting a simple
MSAsmStmt if we get into trouble.
llvm-svn: 162382
|
|
|
|
| |
llvm-svn: 162361
|
|
|
|
|
|
|
| |
declarations.
Fixes pr13662.
llvm-svn: 162360
|
|
|
|
|
|
|
| |
between Bob, Jim, Eric and I, we've decided to take a slightly different
approach.
llvm-svn: 162327
|
|
|
|
|
|
|
|
|
|
| |
Add a new static function, buildMSAsmPieces, that will break these strings down
into mnemonic and operands. Upon a match failure, the idea is to use the
ErrorInfo from MatchInstructionImpl to inspect the mnemonic/operand and
decide a course of action. Unfortunately, there's no easy way to test this at
the moment.
llvm-svn: 162321
|
|
|
|
|
|
| |
// rdar://12103400
llvm-svn: 162320
|
|
|
|
|
|
|
|
|
| |
class extensions a little. clang now allows readonly property
with no ownership rule (assign, unsafe_unretained, weak, retain,
strong, or copy) with a readwrite property with an ownership rule.
// rdar://12103400
llvm-svn: 162319
|
|
|
|
| |
llvm-svn: 162307
|
|
|
|
|
|
| |
this is the index of the operand that failed to match.
llvm-svn: 162296
|
|
|
|
| |
llvm-svn: 162289
|
|
|
|
| |
llvm-svn: 162288
|
|
|
|
|
|
|
|
| |
diagnostics for bad deployment targets and adding a few
more predicates. Includes a patch by Jonathan Schleifer
to enable ARC for ObjFW.
llvm-svn: 162252
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old error message stating that 'begin' was an undeclared identifier
is replaced with a new message explaining that the error is in the range
expression, along with which of the begin() and end() functions was
problematic if relevant.
Additionally, if the range was a pointer type or defines operator*,
attempt to dereference the range, and offer a FixIt if the modified range
works.
llvm-svn: 162248
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, when synthesizing an explicitly strong/retain/copy property
of Class type, don't pretend during compatibility checking that the
property is actually assign. Instead, resolve incompatibilities
by secretly changing the type of *implicitly* __unsafe_unretained
Class ivars to be strong. This is moderately evil but better than
what we were doing.
Second, when synthesizing the setter for a strong property of
non-retainable type, be sure to use objc_setProperty. This is
possible when the property is decorated with the NSObject
attribute. This is an ugly, ugly corner of the language, and
we probably ought to deprecate it.
The first is rdar://problem/12039404; the second was noticed by
inspection while fixing the first.
llvm-svn: 162244
|
|
|
|
|
|
|
|
|
|
| |
Also, suggest 'readonly' even if the property has been given an ownership
attribute ('strong', 'weak', etc). This is used when properties are declared
readonly in the public interface but readwrite in a class extension.
<rdar://problem/11500004&11932285>
llvm-svn: 162220
|
|
|
|
| |
llvm-svn: 162210
|
|
|
|
| |
llvm-svn: 162198
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nested names as id-expressions, using the annot_primary_expr annotation, where
possible. This removes some redundant lookups, and also allows us to
typo-correct within tentative parsing, and to carry on disambiguating past an
identifier which we can determine will fail lookup as both a type and as a
non-type, allowing us to disambiguate more declarations (and thus offer
improved error recovery for such cases).
This also introduces to the parser the notion of a tentatively-declared name,
which is an identifier which we *might* have seen a declaration for in a
tentative parse (but only if we end up disambiguating the tokens as a
declaration). This is necessary to correctly disambiguate cases where a
variable is used within its own initializer.
llvm-svn: 162159
|
|
|
|
|
|
| |
Sema::ActOnEndOfTranslationUnit(). This is a (minor) optimization.
llvm-svn: 162144
|
|
|
|
|
|
|
|
| |
specifier is unsed in a declaration; as it may not make the symbol
local to linkage unit as intended. Suggest using "hidden" visibility
attribute instead. // rdar://7703982
llvm-svn: 162138
|
|
|
|
| |
llvm-svn: 162134
|
|
|
|
|
|
| |
pollute SemaStmt with extraneous asm handling logic.
llvm-svn: 162132
|
|
|
|
|
|
|
| |
on unsafe cast of a c-function call. This is
a C-only option.
llvm-svn: 162109
|
|
|
|
|
|
| |
instruction, not emitting them, so a NullStream is fine.
llvm-svn: 162105
|
|
|
|
|
|
|
| |
Initializing a reference with itself, e.g. "int &a = a;" seems like a
very bad idea.
llvm-svn: 162093
|
|
|
|
|
|
|
| |
literals match the spacing introduced by the ObjC modernizer. Fixes
the rest of <rdar://problem/11889572>.
llvm-svn: 162084
|
|
|
|
|
|
|
|
| |
both a waste of time, and prone to crash due to the use of the
error-recovery path in parser. Fixes <rdar://problem/12103608>, which
has been driving me nuts.
llvm-svn: 162081
|
|
|
|
|
|
|
| |
class templates. This fixes misalignment issues in llvm/Support/Endian.h when
built by Clang.
llvm-svn: 162074
|
|
|
|
|
|
|
| |
elaborated type specifier in template instantiation: such a specifier is always
valid because it must be specified within the definition of the type.
llvm-svn: 162068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function arguments and arguments for variadic functions are of a particular
type which is determined by some other argument to the same function call.
Usecases include:
* MPI library implementations, where these attributes enable checking that
buffer type matches the passed MPI_Datatype;
* for HDF5 library there is a similar usecase as MPI;
* checking types of variadic functions' arguments for functions like
fcntl() and ioctl().
llvm-svn: 162067
|
|
|
|
| |
llvm-svn: 162063
|
|
|
|
| |
llvm-svn: 162055
|
|
|
|
|
|
| |
tokens we don't know how to handle; this should aid when debugging.
llvm-svn: 162053
|
|
|
|
|
|
| |
an abstract c++ class. // rdar://12095239
llvm-svn: 162052
|
|
|
|
|
|
| |
simple asm.
llvm-svn: 162051
|