| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
temporary name
llvm-svn: 96998
|
| |
|
|
|
|
| |
llvm-gcc does, but are more strict on what uses of weakref we accept.
llvm-svn: 96992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the block descriptor field. This field is the ObjC style @encode
signature of the implementation function, and was to this point
conditionally provided in the block literal data structure. That
provisional support is removed.
Additionally, eliminate unused enumerations for the block literal flags field.
The first shipping ABI unconditionally set (1<<29) but this bit is unused
by the runtime, so the second ABI will unconditionally have (1<<30) set so
that the runtime can in fact distinguish whether the additional data is
present or not.
llvm-svn: 96989
|
| |
|
|
|
|
| |
rewriting problem. Fixes radar 7680953.
llvm-svn: 96987
|
| |
|
|
|
|
|
| |
pointer (for defensive programming). This matches the behavior with
assigning NULL to a regular pointer. Fixes <rdar://problem/7631278>.
llvm-svn: 96985
|
| |
|
|
|
|
|
|
| |
(with no names)
that refer to an undefined class.
llvm-svn: 96976
|
| |
|
|
|
|
| |
the result is integral. Fixes <rdar://problem/7676608>.
llvm-svn: 96970
|
| |
|
|
| |
llvm-svn: 96968
|
| |
|
|
| |
llvm-svn: 96961
|
| |
|
|
| |
llvm-svn: 96958
|
| |
|
|
| |
llvm-svn: 96941
|
| |
|
|
|
|
|
| |
in the recent changes to RegionStore::InvalidateRegions(). Note that we
are still not yet modeling 'memcpy()' explicitly.
llvm-svn: 96902
|
| |
|
|
|
|
|
| |
the canonical calling conventions instead of comparing the raw calling
conventions directly. Fixes PR6361.
llvm-svn: 96895
|
| |
|
|
|
|
|
| |
__alignof__ operator, make sure to take into account the packed alignment
of the struct/union/class itself. Matches GCC's behavior and fixes PR6362.
llvm-svn: 96884
|
| |
|
|
|
|
| |
question is a primary virtual base of some other base.
llvm-svn: 96881
|
| |
|
|
|
|
| |
Remove a debug printf, and add the test case that now passes.
llvm-svn: 96880
|
| |
|
|
| |
llvm-svn: 96850
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) emit base destructors as aliases to their unique base class destructors
under some careful conditions. This is enabled for the same targets that can
support complete-to-base aliases, i.e. not darwin.
2) Emit non-variadic complete constructors for classes with no virtual bases
as calls to the base constructor. This is enabled on all targets and in
theory can trigger in situations that the alias optimization can't (mostly
involving virtual bases, mostly not yet supported).
These are bundled together because I didn't think it worthwhile to split them,
not because they really need to be.
llvm-svn: 96842
|
| |
|
|
|
|
|
|
|
|
| |
C++98/03 and C++0x, since the '0x semantics break valid C++98/03
code. This new mess is tracked by core issue 399, which is still
unresolved.
Fixes PR6358 and PR6359.
llvm-svn: 96836
|
| |
|
|
|
|
| |
itself rewritten. Radar 7669784.
llvm-svn: 96798
|
| |
|
|
|
|
| |
between cv1 T* and cv2 T*.
llvm-svn: 96787
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
errors, e.g.:
t.c:1:21: error: redefinition of parameter 'x'
int test(int x, int x);
^
t.c:1:14: note: previous declaration is here
int test(int x, int x);
^
llvm-svn: 96769
|
| |
|
|
| |
llvm-svn: 96759
|
| |
|
|
|
|
|
|
| |
and the c-index-test executable end up getting different copies of
stderr, causing non-deterministic ordering of output. Fixed by
flushing the file after printing a diagnostic (only on Windows).
llvm-svn: 96754
|
| |
|
|
|
|
|
|
|
|
|
|
| |
nested-name-specifier, e.g.,
typedef int Int;
int *p;
p->Int::~Int();
This weakens the invariant that the only types in nested-name-specifiers are tag types (restricted to class types in C++98/03). However, we weaken this invariant as little as possible, accepting arbitrary types in nested-name-specifiers only when we're in a member access expression that looks like a pseudo-destructor expression.
llvm-svn: 96743
|
| |
|
|
|
|
|
| |
figure out how not to break lots of code using this. See PR6358 and PR6359 for
motivating examples. FIXME's left in the code and the test.
llvm-svn: 96733
|
| |
|
|
|
|
|
| |
are for out of line declarations more easily. This simplifies the logic and
handles the case of out-of-line class definitions correctly. Fixes PR6107.
llvm-svn: 96729
|
| |
|
|
|
|
|
|
|
| |
methods, but
instead it crashes on them. We might extend this attribute to work on methods, but for
now fix the crasher. Addresses <rdar://problem/7670939>.
llvm-svn: 96723
|
| |
|
|
|
|
| |
when -fms-extensions is specified. Fixes <rdar://problem/7653870>.
llvm-svn: 96722
|
| |
|
|
|
|
| |
-fms-extensions is enabled. Fixes <rdar://problem/7669559>.
llvm-svn: 96721
|
| |
|
|
|
|
| |
blocks. WIP.
llvm-svn: 96696
|
| |
|
|
|
|
| |
there is a setter but no getter (part of radar 7664555).
llvm-svn: 96687
|
| |
|
|
|
|
|
| |
mode. This allows us to detect invalid VLAs in Objective-C++
mode. This should be the last of <rdar://problem/7660386>.
llvm-svn: 96679
|
| |
|
|
|
|
|
|
|
|
|
|
| |
from an instance method. Previously, we were following the Objective-C
name lookup rules for ivars, which are of course completely different
from and incompatible with the Objective-C++ rules.
For the record, the Objective-C++ rules are the sane ones.
This is another part of <rdar://problem/7660386>.
llvm-svn: 96677
|
| |
|
|
|
|
|
| |
name finds something other than a TypedefDecl or an
ObjCInterfaceDecl. This is a small part of <rdar://problem/7660386>.
llvm-svn: 96676
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fix some bugs with function-try-blocks and simplify normal try-block
code generation.
This implementation excludes a deleting destructor's call to
operator delete() from the function-try-block, which I believe
is correct but which I can't find straightforward support for at
a moment's glance.
llvm-svn: 96670
|
| |
|
|
| |
llvm-svn: 96659
|
| |
|
|
| |
llvm-svn: 96651
|
| |
|
|
|
|
| |
command-line option which defaults off.
llvm-svn: 96649
|
| |
|
|
|
|
| |
empty context
llvm-svn: 96648
|
| |
|
|
| |
llvm-svn: 96647
|
| |
|
|
| |
llvm-svn: 96646
|
| |
|
|
|
|
| |
clang is built optimized.
llvm-svn: 96645
|
| |
|
|
|
|
| |
inexplicably
llvm-svn: 96644
|
| |
|
|
|
|
| |
operators, and compound assignment operators.
llvm-svn: 96643
|
| |
|
|
|
|
| |
instead relies on their DeclContext for iteration, etc.
llvm-svn: 96638
|
| |
|
|
|
|
| |
try to address the msvc failures.
llvm-svn: 96624
|
| |
|
|
|
|
|
| |
before the selector name (but after the return type). Among other things,
this allows IBAction to be implemented with an attribute.
llvm-svn: 96623
|
| |
|
|
|
|
| |
breaking the msvc9 builder for unknown reasons.
llvm-svn: 96618
|
| |
|
|
|
|
| |
some failure here that I can't.
llvm-svn: 96612
|