| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
for declaration of property setter/getter in forward
class extensions and also skip over
propeties which are @dynamic.
llvm-svn: 121617
|
|
|
|
| |
llvm-svn: 121616
|
|
|
|
|
|
|
|
|
|
|
| |
declared setter or getter in current class extension or one
of the other class extensions. Mark them as synthesized as
property will be synthesized when property with same name is
seen in the @implementation. This prevents bogus warning
about unimplemented methods to be issued for these methods.
Fixes // rdar://8747333
llvm-svn: 121597
|
|
|
|
|
|
|
|
|
| |
We should not substitute template types if the template has a dependent
context because the template argument stack is not yet fully formed.
Instead, defer substitution until the template has a non-dependent
context (i.e. instantiation of an outer template).
llvm-svn: 121491
|
|
|
|
|
|
| |
another preprocessing cursor, since we want the outermost one.
llvm-svn: 121470
|
|
|
|
|
|
|
|
|
|
|
| |
visibility. Fixes PR8713.
I've disabled a test which was testing that you can #pragma pop visibility
to get out of a namespace's visibility attribute. We should probably just
diagnose that as an error unless it's instrumental to someone's system
headers.
llvm-svn: 121459
|
|
|
|
| |
llvm-svn: 121458
|
|
|
|
|
|
| |
clang. // rdar://8735023
llvm-svn: 121441
|
|
|
|
| |
llvm-svn: 121436
|
|
|
|
|
|
|
| |
better to actually produce a decent set of completions by checking the
system include paths, but not today. Fixes PR8744.
llvm-svn: 121431
|
|
|
|
| |
llvm-svn: 121424
|
|
|
|
|
|
|
|
|
|
| |
global code completions are disabled (e.g., because they are
cached). Also, make sure that forward-declared protocols are visited
when we look for all visible names within a declaration context.
Previously, we would end up with duplicate completions for protocols.
llvm-svn: 121416
|
|
|
|
|
|
| |
This test intends to catch invalid use of ".byte 256" in output. Now, the assert in MC will be triggered in such cases.
llvm-svn: 121403
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"inline", we weren't giving the definition weak linkage because the
"inline" bit wasn't propagated. This was a longstanding FIXME that,
somehow, hadn't triggered a bug in the wild. Fix this problem by
tracking whether any declaration was marked "inline", and clean up the
semantics of GNU's "extern inline" semantics calculation based on this
change.
Fixes <rdar://problem/8740363>.
llvm-svn: 121373
|
|
|
|
|
|
| |
instantiation.
llvm-svn: 121363
|
|
|
|
| |
llvm-svn: 121352
|
|
|
|
|
|
|
|
|
|
| |
aligment of the sub-struct,
take into account if the sub-struct is packed and its maximum field alignment.
Fixes rdar://8745206
llvm-svn: 121335
|
|
|
|
| |
llvm-svn: 121324
|
|
|
|
|
|
|
|
| |
declaration that is a value in ill-formed code. Instead of crashing,
treat this as a dependent typename specifier and suggest that the
using add "typename" into the using declaration. Fixes <rdar://problem/8740998>.
llvm-svn: 121322
|
|
|
|
| |
llvm-svn: 121302
|
|
|
|
| |
llvm-svn: 121284
|
|
|
|
|
|
| |
sysroot flag to the link command as a joined flag or a separate flag.
llvm-svn: 121270
|
|
|
|
|
|
| |
implementation.
llvm-svn: 121263
|
|
|
|
|
|
| |
CIndex's EnqueueVisitor must visit elements backward apparently.
llvm-svn: 121247
|
|
|
|
| |
llvm-svn: 121246
|
|
|
|
|
|
|
|
| |
disambiguation.
Fixes rdar://8739801.
llvm-svn: 121228
|
|
|
|
| |
llvm-svn: 121194
|
|
|
|
|
|
| |
(@synthesize and @dynamic).
llvm-svn: 121159
|
|
|
|
| |
llvm-svn: 121139
|
|
|
|
|
|
| |
testsuite searches for.
llvm-svn: 121137
|
|
|
|
| |
llvm-svn: 121097
|
|
|
|
|
|
| |
New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics.
llvm-svn: 121074
|
|
|
|
|
|
|
|
| |
cv-qualification conversions. More specifically, there's an implicit
cv-qualification conversion (even one that drops qualifiers) when
converting to 'id' or qualified 'id'. Fixes <rdar://problem/8734046>.
llvm-svn: 121047
|
|
|
|
|
|
| |
Fixes PR8742.
llvm-svn: 121022
|
|
|
|
|
|
|
|
|
|
| |
the LHS, or else the pointer might be invalid. This is kindof dumb, but
go ahead and make sure we're doing that for l-value scalar assignment,
which fixes a miscompile of obj-c++.dg/block-seq.mm.
Leave a FIXME for how to solve this problem for agg __blocks.
llvm-svn: 120992
|
|
|
|
|
|
|
|
|
| |
build one when either of the operands calls itself type-dependent;
previously we were building when one of the operand types was dependent,
which is not always the same thing and which can lead to unfortunate
inconsistencies later. Fixes PR8739.
llvm-svn: 120990
|
|
|
|
|
|
|
|
|
| |
Fix a bug in the emission of complex compound assignment l-values.
Introduce a method to emit an expression whose value isn't relevant.
Make that method evaluate its operand as an l-value if it is one.
Fixes our volatile compliance in C++.
llvm-svn: 120931
|
|
|
|
| |
llvm-svn: 120925
|
|
|
|
|
|
| |
AST.
llvm-svn: 120919
|
|
|
|
| |
llvm-svn: 120905
|
|
|
|
| |
llvm-svn: 120904
|
|
|
|
| |
llvm-svn: 120899
|
|
|
|
|
|
| |
the type of the expression *after* array/function decay.
llvm-svn: 120895
|
|
|
|
| |
llvm-svn: 120894
|
|
|
|
|
|
| |
block line.
llvm-svn: 120893
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not actually frequently used, because ImpCastExprToType only creates a node
if the types differ. So explicitly create an ICE in the lvalue-to-rvalue
conversion code in DefaultFunctionArrayLvalueConversion() as well as several
other new places, and consistently deal with the consequences throughout the
compiler.
In addition, introduce a new cast kind for loading an ObjCProperty l-value,
and make sure we emit those nodes whenever an ObjCProperty l-value appears
that's not on the LHS of an assignment operator.
This breaks a couple of rewriter tests, which I've x-failed until future
development occurs on the rewriter.
Ted Kremenek kindly contributed the analyzer workarounds in this patch.
llvm-svn: 120890
|
|
|
|
|
|
|
|
|
|
| |
Also, move the l-value emission code into CGObjC.cpp and teach it, for
completeness, to store away self for a super send.
Also, inline the super cases for property gets and sets and make them
use the correct result type for implicit getter/setter calls.
llvm-svn: 120887
|
|
|
|
| |
llvm-svn: 120877
|
|
|
|
| |
llvm-svn: 120876
|
|
|
|
| |
llvm-svn: 120872
|