| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 110996
|
|
|
|
|
|
| |
block's helper function. Fixes radar 7860965.
llvm-svn: 110988
|
|
|
|
|
|
|
|
| |
a -cc1 option. The Darwin linker complains about mixed visibility when linking
gcc-built objects with clang-built objects, and the optimization isn't really
that valuable. Platforms with less ornery linkers can feel free to enable this.
llvm-svn: 110979
|
|
|
|
| |
llvm-svn: 110900
|
|
|
|
| |
llvm-svn: 110885
|
|
|
|
|
|
| |
treats that as a contract to be fulfilled by any replacements.
llvm-svn: 110864
|
|
|
|
|
|
| |
step into constructor body.
llvm-svn: 110853
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_Unwind_Resume_or_Rethrow
instead of _Unwind_Resume. With SJLJ exceptions, this is spelled
"_Unwind_SjLj_Resume_or_Rethrow", not "_Unwind_SjLj_Resume", which has
significantly different semantics.
We should actually never be generating a call to _Unwind_SjLj_Resume directly;
even if we were generating true cleanups (which we aren't because of the
horrible hack), we should be calling __cxa_end_cleanup() on ARM. I
haven't implemented this because there's little point as long as the HH is
present.
I believe this fixes <rdar://problem/8281377>.
llvm-svn: 110851
|
|
|
|
|
|
| |
in the code after the "FIXME: Needs to be written".
llvm-svn: 110849
|
|
|
|
|
|
| |
types. Fixes PR7865.
llvm-svn: 110832
|
|
|
|
|
|
|
|
|
| |
where we weren't accounting for the possibility that a @finally block might
have internal cleanups and therefore might write to the cleanup destination slot.
Fixes <rdar://problem/8293901>.
llvm-svn: 110760
|
|
|
|
| |
llvm-svn: 110716
|
|
|
|
|
|
| |
we have the full fix.
llvm-svn: 110706
|
|
|
|
|
|
| |
the variable is fully initialized.
llvm-svn: 110704
|
|
|
|
| |
llvm-svn: 110697
|
|
|
|
|
|
| |
constant integer globals, based on Chris's feedback.
llvm-svn: 110694
|
|
|
|
|
|
| |
constant variable.
llvm-svn: 110660
|
|
|
|
|
|
| |
Strictly speaking, implementations don't go in headers but there's no law against it.
llvm-svn: 110567
|
|
|
|
| |
llvm-svn: 110530
|
|
|
|
|
|
|
|
| |
an lvalue of another, compatible Objective-C object type (e.g., a
subclass). Introduce a new initialization sequence step kind to
describe this binding, along with a new cast kind. Fixes PR7741.
llvm-svn: 110513
|
|
|
|
|
|
|
|
|
| |
to avoid the awesome-but-wrong-in-this-case assertion in the canon EAC.
Fixes PR7834.
Also fix a subtle address-space bug in the memset path.
llvm-svn: 110511
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This takes some trickery since CastExpr has subclasses (and indeed,
is abstract).
Also, smoosh the CastKind into the bitfield from Expr.
Drops two words of storage from Expr in the common case of expressions
which don't need inheritance paths. Avoids a separate allocation and
another word of overhead in cases needing inheritance paths. Also has
the advantage of not leaking memory, since destructors for AST nodes are
never run.
llvm-svn: 110507
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__overflow_handler entrypoint that David Chisnall made up.
Calling __overflow_handler is not part of the contract of
-ftrapv provided by GCC, and should never have been checked
in in the first place.
According to:
http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8699
David is using this for some of arbitrary precision integer stuff
or something, which is not an appropriate thing to implement on
this.
llvm-svn: 110490
|
|
|
|
|
|
| |
way to tell gcc "really, values outside the enum aren't valid".
llvm-svn: 110450
|
|
|
|
|
|
|
| |
union type variables and their nesting inside other
aggregate types.
llvm-svn: 110448
|
|
|
|
|
|
| |
<rdar://problem/8278732>
llvm-svn: 110420
|
|
|
|
| |
llvm-svn: 110418
|
|
|
|
|
|
|
| |
these, but it's convenient to mangle them when deferring them (in the 99.99%
case where it's not an anonymous union, of course).
llvm-svn: 110381
|
|
|
|
|
|
| |
(objc gc and blocks in NeXt runtime).
llvm-svn: 110377
|
|
|
|
|
|
|
|
|
|
|
| |
do the right thing with mixed-visibility symbols, so disable the visibility
optimization where that's possible, i.e. with template classes (since it's
possible that an arbitrary template might be subject to an explicit
instantiation elsewhere). 447.dealII actually does this.
I've put the code under an option that's currently not hooked up to anything.
llvm-svn: 110374
|
|
|
|
| |
llvm-svn: 110354
|
|
|
|
| |
llvm-svn: 110347
|
|
|
|
|
|
| |
(objc gc specific).
llvm-svn: 110340
|
|
|
|
| |
llvm-svn: 110339
|
|
|
|
| |
llvm-svn: 110326
|
|
|
|
| |
llvm-svn: 110315
|
|
|
|
| |
llvm-svn: 110290
|
|
|
|
| |
llvm-svn: 110287
|
|
|
|
|
|
|
|
|
| |
functions with in-line definitions, since such thunks will be emitted at any
use of the function.
Completes the feature work for rdar://problem/7523229.
llvm-svn: 110285
|
|
|
|
| |
llvm-svn: 110239
|
|
|
|
|
|
| |
for objective-c/c++ blocks (NeXt runtime).
llvm-svn: 110213
|
|
|
|
|
|
|
|
|
|
| |
Apply hidden visibility to most RTTI; libstdc++ does not rely on exact
pointer equality for the type info (just the type info names). Apply
the same optimization to RTTI that we do to vtables.
Fixes PR5962.
llvm-svn: 110192
|
|
|
|
|
|
| |
haven't been explicitly instantiated.
llvm-svn: 110189
|
|
|
|
|
|
|
|
|
|
|
| |
ObjC exceptions:
- don't enter a try for the catch blocks unless there's a finally
- put the setjmp buffer in the locals set for liveness reasons
- dump the sync object into an alloca in the locals set for liveness reasons
Some of this can go away if the backend starts to properly calculate liveness
in the presence of setjmp (which would also be a *much* stabler solution).
llvm-svn: 110188
|
|
|
|
|
|
|
| |
mark it nounwind based on whether it contains any non-nounwind calls.
<rdar://problem/8087431>
llvm-svn: 110163
|
|
|
|
| |
llvm-svn: 110153
|
|
|
|
| |
llvm-svn: 110107
|
|
|
|
|
|
| |
initializations now.
llvm-svn: 110063
|
|
|
|
|
|
|
|
|
| |
the magic of inline assembly. Essentially we use read and write hazards
on the set of local variables to force flushing locals to memory
immediately before any protected calls and to inhibit optimizing locals
across the setjmp->catch edge. Fixes rdar://problem/8160285
llvm-svn: 109960
|
|
|
|
|
|
|
|
| |
an initializer requiring temporary object disposal.
Fixes rdar:://problem/8246444.
llvm-svn: 109849
|