| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 114085
|
| |
|
|
|
|
|
| |
doesn't add any value. Instead, we'll just take the first method with
that selector that we find and create a completion for it.
llvm-svn: 114082
|
| |
|
|
|
|
| |
sure to visit the protocols of protocols.
llvm-svn: 114079
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
missing the opening bracket '[', e.g.,
NSArray <CC>
at function scope. Previously, we would only give trivial completions
(const, volatile, etc.), because we're in a "declaration name"
scope. Now, we also provide completions for class methods of NSArray,
e.g.,
alloc
Note that we already had support for this after the first argument,
e.g.,
NSArray method:x <CC>
would get code completion for class methods of NSArray whose selector
starts with "method:". This was already present because we recover
as if NSArray method:x were a class message send missing the opening
bracket (which was committed in r114057).
llvm-svn: 114078
|
| |
|
|
|
|
|
| |
derive from temporaries of the same type. Black-list member expressions
as well.
llvm-svn: 114071
|
| |
|
|
|
|
| |
translation units that don't catch ObjC types. rdar://problem/8434851
llvm-svn: 114070
|
| |
|
|
|
|
| |
the assumption that EndNode == ErrorNode, but upcoming changes will break this.
llvm-svn: 114065
|
| |
|
|
| |
llvm-svn: 114062
|
| |
|
|
| |
llvm-svn: 114061
|
| |
|
|
|
|
| |
Prospective fix for broken commit in r114045.
llvm-svn: 114060
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sends. These are far trickier than instance messages, because we
typically have something like
NSArray alloc]
where it appears to be a declaration of a variable named "alloc" up
until we see the ']' (or a ':'), and at that point we can't backtrace.
So, we use a combination of syntactic and semantic disambiguation to
treat this as a message send only when the type is an Objective-C type
and it has the syntax of a class message send (which would otherwise
be ill-formed).
llvm-svn: 114057
|
| |
|
|
|
|
| |
and discussions with Ted and Jordy.
llvm-svn: 114056
|
| |
|
|
|
|
|
|
| |
from a macro.
Fixes <rdar://problem/8436021>.
llvm-svn: 114049
|
| |
|
|
|
|
| |
AggValueSlot slot.
llvm-svn: 114045
|
| |
|
|
|
|
|
|
|
|
|
| |
RHS to see if they
are expanded from macros (and if so, omit the warning). Previously we were just looking at the
location of the binary expression.
Fixes <rdar://problem/8435950>.
llvm-svn: 114044
|
| |
|
|
|
|
|
|
|
|
|
| |
narrow, almost useless case where we're inside a parenthesized
expression, e.g.,
(NSArray alloc])
The solution to the general case still eludes me.
llvm-svn: 114039
|
| |
|
|
| |
llvm-svn: 114019
|
| |
|
|
|
|
|
|
| |
not. If current file is seen then it indicates that end of previous file's lexical scope.
This fixes radar 8396182.
llvm-svn: 114018
|
| |
|
|
| |
llvm-svn: 114014
|
| |
|
|
|
|
| |
from certain GCC's. Patch by Neil Vachharajani!
llvm-svn: 113995
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'[' is missing. Prior commits improving recovery also improved code
completion beyond the first selector, e.g., at or after the "to" in
calculator add:x to:y
but not after "calculator". We now provide the same completions for
calculator <CC>
that we would for
[calculator <CC>
if "calculator" is an expression whose type is something that can
receive Objective-C messages.
This code completion works for instance and super message sends, but not
class message sends.
llvm-svn: 113976
|
| |
|
|
|
|
|
| |
abi for clang's objective-c compilations.
(radar 8353555).
llvm-svn: 113974
|
| |
|
|
|
|
|
|
| |
super method:arg]
will now recover nicely and insert the '[' before 'super'.
llvm-svn: 113971
|
| |
|
|
|
|
| |
a getFoo]
llvm-svn: 113969
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
part of parser recovery. For example, given:
a method1:arg];
we detect after parsing the expression "a" that we have the start of a
message send expression. We pretend we've seen a '[' prior to the a,
then parse the remainder as a message send. We'll then give a
diagnostic+fix-it such as:
fixit-objc-message.m:17:3: error: missing '[' at start of message
send expression
a method1:arg];
^
[
The algorithm here is very simple, and always assumes that the open
bracket goes at the beginning of the message send. It also only works
for non-super instance message sends at this time.
llvm-svn: 113968
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
slot. The easiest way to do that was to bundle up the information
we care about for aggregate slots into a new structure which demands
that its creators at least consider the question.
I could probably be convinced that the ObjC 'needs GC' bit should
be rolled into this structure.
Implement generalized copy elision. The main obstacle here is that
IR-generation must be much more careful about making sure that exactly
llvm-svn: 113962
|
| |
|
|
|
|
|
|
| |
assertion failure
on code containing GNU statement expressions reported in PR 8141.
llvm-svn: 113953
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can be used as
the index when the value evaluation isn't powerful enough. By creating ElementRegions with
UnknownVals as the index, this gives the false impression that they are the same element, when
they really aren't. This becomes really problematic when deriving symbols from these regions
(e.g., those representing the initial value of the index), since two different indices will
get the same symbol for their binding.
This fixes an issue with the idempotent operations checker that would cause two indices that
are clearly not the same to make it appear as if they always had the same value.
Fixes <rdar://problem/8431728>.
llvm-svn: 113920
|
| |
|
|
| |
llvm-svn: 113917
|
| |
|
|
|
|
| |
sign extension code is emitted: PtrDiffType needs to be a signed long long. Add a corresponding test case.
llvm-svn: 113910
|
| |
|
|
|
|
|
| |
- in union
- as the only element of a struct/class.
llvm-svn: 113909
|
| |
|
|
|
|
|
|
| |
expression, e.g., after the '(' that could also be a type cast. Here,
we provide types as code-completion results in C/Objective-C (C++
already had them), although we wouldn't in a normal expression context.
llvm-svn: 113904
|
| |
|
|
|
|
| |
parameter. Patch by Marcin Świderski!
llvm-svn: 113898
|
| |
|
|
| |
llvm-svn: 113897
|
| |
|
|
|
|
| |
account typedefs.
llvm-svn: 113893
|
| |
|
|
|
|
|
|
|
|
|
| |
library to use.
- This is currently useful for testing libc++; you can now use 'clang++
-stdlib=libc++ t.cpp' to compile using it if installed.
- In the future could also be used to select other standard library choices if
alternatives become available (for example, to use an alternate C library).
llvm-svn: 113891
|
| |
|
|
| |
llvm-svn: 113890
|
| |
|
|
| |
llvm-svn: 113889
|
| |
|
|
|
|
|
|
| |
the size of a VLA. We don't track VLA extents yet,
but we should at least not crash. Fixes <rdar://problem/8424269>.
llvm-svn: 113888
|
| |
|
|
|
|
|
| |
copy initialization before passing it to
a setter. Fixes radar 8427922.
llvm-svn: 113885
|
| |
|
|
|
|
|
|
|
| |
"used", at the time that the default argument itself is used, also
mark destructors that will be called by this expression. This fixes a
regression that I introduced in r113700, which broke WebKit, and fixes
<rdar://problem/8427926>.
llvm-svn: 113883
|
| |
|
|
|
|
|
|
| |
that we're sure to keep it updated when new expression kinds
emerge. Also fixes a few little bugs in the classification of
expressions.
llvm-svn: 113864
|
| |
|
|
| |
llvm-svn: 113863
|
| |
|
|
|
|
| |
that we aborted analysis may not necessarily be due to a loop.
llvm-svn: 113862
|
| |
|
|
|
|
|
| |
placement 'operator delete', even if there are no placement args (i.e.
overload resolution selected an operator new with default arguments).
llvm-svn: 113861
|
| |
|
|
|
|
| |
(but not if destructors associated with the full-expression throw).
llvm-svn: 113836
|
| |
|
|
| |
llvm-svn: 113826
|
| |
|
|
|
|
|
| |
llvm.stacksave/llvm.stackrestore wasn't emitted for VLAs in inner scopes.
Fixes r8403108.
llvm-svn: 113822
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
instead"
This reverts commit r113631
Conflicts:
CMakeLists.txt
lib/CodeGen/CMakeLists.txt
llvm-svn: 113817
|
| |
|
|
|
|
|
|
| |
We decided that scope information doesn't belong in the CFG at all, since it is a lexical construct.
Patch by Marcin Świderski!
llvm-svn: 113798
|