| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
incomplete type. Fixes PR6911.
llvm-svn: 102473
|
|
|
|
| |
llvm-svn: 102459
|
|
|
|
|
|
|
|
|
| |
This works around stack corruption / crashes resulting from PR6944, and also
works around people who expect 'what works on my machine' to work everywhere
(GCC crashes in a number of cases on SPARC that should now work correctly with
clang).
llvm-svn: 102430
|
|
|
|
| |
llvm-svn: 102429
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a class template or class template partial specialization. That is to
say, in
template <class T> class A { ... };
or
template <class T> class B<const T*> { ... };
make 'A<T>' and 'B<const T*>' sugar for the corresponding InjectedClassNameType
when written inside the appropriate context. This allows us to track the
current instantiation appropriately even inside AST routines. It also allows
us to compute a DeclContext for a type much more efficiently, at some extra
cost every time we write a template specialization (which can be optimized,
but I've left it simple in this patch).
llvm-svn: 102407
|
|
|
|
| |
llvm-svn: 102398
|
|
|
|
|
|
| |
mode.
llvm-svn: 102377
|
|
|
|
|
|
|
| |
@catch a VarDecl. The dynamic type is still a ParmVarDecl, but that
will change soon. No effective functionality change.
llvm-svn: 102341
|
|
|
|
|
|
|
|
|
| |
- Fix some places that had the alignment hard coded.
- Use ABI type alignment, not preferred type alignment -- neither of this is exactly right, as we really want the C type alignment as required by the runtime, but the ABI alignment is a more correct choice.
This should be equivalent for x86_64, but fixes the alignment for ARM.
llvm-svn: 102314
|
|
|
|
|
|
| |
fixes Clang to correctly emit the "CorrectedSynthesize" bit when using the non-fragile ABI.
llvm-svn: 102312
|
|
|
|
| |
llvm-svn: 102293
|
|
|
|
| |
llvm-svn: 102289
|
|
|
|
| |
llvm-svn: 102286
|
|
|
|
| |
llvm-svn: 102285
|
|
|
|
|
|
| |
GetAddressOfDirectBaseInCompleteClass to reflect that it only handles direct bases.
llvm-svn: 102284
|
|
|
|
| |
llvm-svn: 102282
|
|
|
|
| |
llvm-svn: 102281
|
|
|
|
|
|
| |
implicit base initializers. (Member initializers are still handled by CodeGenFunction::SynthesizeCXXCopyConstructor for now).
llvm-svn: 102279
|
|
|
|
| |
llvm-svn: 102275
|
|
|
|
|
|
| |
use the new version.
llvm-svn: 102274
|
|
|
|
| |
llvm-svn: 102273
|
|
|
|
| |
llvm-svn: 102272
|
|
|
|
|
|
| |
for derived-to-base casts.
llvm-svn: 102270
|
|
|
|
| |
llvm-svn: 102263
|
|
|
|
| |
llvm-svn: 102262
|
|
|
|
|
|
|
|
|
|
| |
- Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}.
- Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp.
- No intended functionality change.
llvm-svn: 102255
|
|
|
|
| |
llvm-svn: 102249
|
|
|
|
|
|
|
| |
pointer operand. This fixes an abort on
MultiSource/Applications/ClamAV/libclamav_mbox.c.
llvm-svn: 102238
|
|
|
|
| |
llvm-svn: 102226
|
|
|
|
|
|
| |
testsuite.
llvm-svn: 102224
|
|
|
|
|
|
|
|
|
|
| |
statements. Instead of the @try having a single @catch, where all of
the @catch's were chained (using an O(n^2) algorithm nonetheless),
@try just holds an array of its @catch blocks. The resulting AST is
slightly more compact (not important) and better represents the actual
language semantics (good).
llvm-svn: 102221
|
|
|
|
| |
llvm-svn: 102219
|
|
|
|
| |
llvm-svn: 102218
|
|
|
|
|
|
|
| |
chain outwards when inside a nested exception scope.
- A real test for this is going into LLVM test-suite.
llvm-svn: 102204
|
|
|
|
|
|
| |
is unreachable.
llvm-svn: 102203
|
|
|
|
|
|
| |
NeXt's -fno-constant-cfstrings - wip.
llvm-svn: 102189
|
|
|
|
|
|
|
|
| |
input and output types when the smaller value isn't mentioned in the
asm string. Extend this support from integers to also allowing
fp values to be mismatched (if not mentioned in the asm string).
llvm-svn: 102188
|
|
|
|
|
|
|
| |
permitted in C++ but not in C. Fixes PR6900. Clang can now handle all
of Boost.Lambda's regression tests.
llvm-svn: 102170
|
|
|
|
| |
llvm-svn: 102168
|
|
|
|
|
|
|
|
|
| |
T::apply <U>::type
Fixes PR6899, although I want to dig a little deeper into the FIXME
for dependent template names that refer to operators.
llvm-svn: 102167
|
|
|
|
| |
llvm-svn: 102160
|
|
|
|
| |
llvm-svn: 102112
|
|
|
|
|
|
|
| |
immediately narrowed the access size. Fix this (and previous case) by just
choosing a better access size up-front.
llvm-svn: 102068
|
|
|
|
|
|
|
| |
we have to narrow the access side immediately (can happen with packed,
-fno-bitfield-type-align).
llvm-svn: 102067
|
|
|
|
| |
llvm-svn: 102047
|
|
|
|
| |
llvm-svn: 102046
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the structure, which we also now verify as part of the post-layout consistency checks.
- This fixes some pedantic bugs with packed structures, as well as major problems with -fno-bitfield-type-align.
- Fixes PR5591, PR5567, and all known -fno-bitfield-type-align issues.
- Review appreciated.
llvm-svn: 102045
|
|
|
|
|
|
| |
consistent order.
llvm-svn: 102044
|
|
|
|
|
|
|
|
|
| |
in a throw expression. Use EmitAnyExprToMem to emit the throw expression,
which magically elides the final copy-constructor call (which raises a new
strict-compliance bug, but baby steps). Give __cxa_throw a destructor pointer
if the exception type has a non-trivial destructor.
llvm-svn: 102039
|
|
|
|
| |
llvm-svn: 102033
|