| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 200685
|
| |
|
|
| |
llvm-svn: 200681
|
| |
|
|
|
|
| |
(which implemented the DR) was disabled in C++11.
llvm-svn: 200673
|
| |
|
|
| |
llvm-svn: 200668
|
| |
|
|
|
|
| |
support.
llvm-svn: 200667
|
| |
|
|
| |
llvm-svn: 200666
|
| |
|
|
| |
llvm-svn: 200665
|
| |
|
|
|
|
| |
support for o32 and n64.
llvm-svn: 200662
|
| |
|
|
| |
llvm-svn: 200661
|
| |
|
|
| |
llvm-svn: 200659
|
| |
|
|
|
|
| |
__BIG_ENDIAN__ as on other architectures.
llvm-svn: 200655
|
| |
|
|
| |
llvm-svn: 200652
|
| |
|
|
| |
llvm-svn: 200642
|
| |
|
|
|
|
|
| |
Otherwise we'd accept them if the LinkageDecl was not the direct
parent DeclContext. PR17968.
llvm-svn: 200641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ranges before:
void test(void (*)(int), int, float);
~~~~~~~~~~~~~ ~~~~ ~~~~~~
Ranges after:
void test(void (*)(int), int, float);
~~~~~~~~~~~~~ ~~~ ~~~~~
This does not change the actual location of the ParmVarDecl, it still
points to the location where the name would be. PR17970.
llvm-svn: 200640
|
| |
|
|
|
|
|
| |
These changes make it impossible to use ARM EHABI for stack unwinding without
enabling exceptions and break AddressSanitizer on ARM.
llvm-svn: 200627
|
| |
|
|
|
|
| |
and revert its behavior for C++.
llvm-svn: 200622
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building for i386 or x86_64 with IPHONEOS_DEPLOYMENT_TARGET set in the
environment, the toolchain correctly recognizes that the target platform is
the iOS simulator. The code in Darwin::addMinVersionArgs was not updated for
svn 197148, where isTargetIPhoneOS() was widely replaced by isTargetIOSBased().
This is kind of a strange case, though, because we probably ought to be
passing -ios_simulator_version_min to the linker, but according to the FIXME
in the code, we intentionally avoid that unless the -mios-simulator-version-min
option was used. I don't know whether it is safe to change that yet, so
for now, I am just fixing the assertion failure.
llvm-svn: 200618
|
| |
|
|
| |
llvm-svn: 200598
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a non-trivial parameter is present, clang now gathers up all the
parameters that lack inreg and puts them into a packed struct. MSVC
always aligns each parameter to 4 bytes and no more, so this is a pretty
simple struct to lay out.
On win64, non-trivial records are passed indirectly. Prior to this
change, clang was incorrectly using byval on win64.
I'm able to self-host a working clang with this change and additional
LLVM patches.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D2636
llvm-svn: 200597
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes PR15768, where the sret parameter and the 'this' parameter
are in the wrong order.
Instance methods compiled by MSVC never return records in registers,
they always return indirectly through an sret pointer. That sret
pointer always comes after the 'this' parameter, for both __cdecl and
__thiscall methods.
Unfortunately, the same is true for other calling conventions, so we'll
have to change the overall approach here relatively soon.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D2664
llvm-svn: 200587
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, we give different results for __alignof than MSVC, but
our record layout is compatible.
Some data member pointers also now have a size that is not a multiple of
their alignment.
Fixes PR18618.
Reviewers: majnemer
Differential Revision: http://llvm-reviews.chandlerc.com/D2669
llvm-svn: 200585
|
| |
|
|
|
|
|
| |
just storing a flag indicating if there was one), and include it in the 'end of
module' annotation. No functionality change.
llvm-svn: 200573
|
| |
|
|
|
|
|
| |
The two identical implementations of __cpuid for X86 / X86_64 were
leftovers from my first iteration on the patch that implemented it.
llvm-svn: 200568
|
| |
|
|
|
|
|
| |
Previous commit would have a following flag overriding the behaviour
and not taken care of.
llvm-svn: 200555
|
| |
|
|
| |
llvm-svn: 200545
|
| |
|
|
|
|
|
| |
Before, this would lead to a crash:
f('', true);
llvm-svn: 200540
|
| |
|
|
| |
llvm-svn: 200538
|
| |
|
|
|
|
| |
implies it.
llvm-svn: 200531
|
| |
|
|
|
|
|
|
| |
This should be the last routine patch: AArch64 does still delegate to
EmitARMBuiltinExpr, but the remaining instances have complications of
one sort or another so some more cunning thought will be needed.
llvm-svn: 200528
|
| |
|
|
| |
llvm-svn: 200527
|
| |
|
|
| |
llvm-svn: 200526
|
| |
|
|
| |
llvm-svn: 200525
|
| |
|
|
| |
llvm-svn: 200524
|
| |
|
|
|
|
|
|
|
|
| |
casts, which are used
by some projects in their null macro.
rdar://15925483
llvm-svn: 200521
|
| |
|
|
|
|
| |
processing. (http://llvm-reviews.chandlerc.com/D2451)
llvm-svn: 200513
|
| |
|
|
|
|
| |
(http://llvm-reviews.chandlerc.com/D2655)
llvm-svn: 200510
|
| |
|
|
|
|
|
| |
We'd add, as a fallback, DOS style paths when using the driver using a
win32 triple. On a UNIX-like platform, this isn't particularly helpful.
llvm-svn: 200507
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add the ImportDecl to the set of interesting delcarations that are
deserialized eagerly when an AST file is loaded (rather than lazily like
most decls). This is required to get auto linking to work when there is
no explicit import in the main file. Also resolve a FIXME to rename
'ExternalDefinitions', since that is only one of the things that need eager
deserialization. The new name is 'EagerlyDeserializedDecls'. The corresponding
AST bitcode is also renamed.
llvm-svn: 200505
|
| |
|
|
|
|
|
|
|
| |
This function returns a list of completions for a given expression and
completion position.
Differential Revision: http://llvm-reviews.chandlerc.com/D2261
llvm-svn: 200497
|
| |
|
|
|
|
|
| |
operator--, since it might instantiate as 'int' (or, if it's a pack, it
might instantiate as an empty pack).
llvm-svn: 200496
|
| |
|
|
|
|
|
| |
reference (or pointer) to a variable from the closure object or from the
surrounding function scope.
llvm-svn: 200494
|
| |
|
|
|
|
|
| |
This is causing a failure in the msan buildbot that I am having trouble
reproducing. Reverting until I can figure out what went wrong.
llvm-svn: 200492
|
| |
|
|
|
|
|
| |
In particular, #pragma clang __debug, and #include implicitly changed
into @import were causing assertion failures.
llvm-svn: 200475
|
| |
|
|
|
|
|
| |
This extends the refactoring to the whole of the first block of
trivial correspondences (as a fairly arbitrary boundary).
llvm-svn: 200472
|
| |
|
|
|
|
|
| |
As a starting point, this moves the CodeGen for NEON permutation
instructions (vtrn, vzip, vuzp) into a new shared function.
llvm-svn: 200471
|
| |
|
|
| |
llvm-svn: 200470
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
typedef NS_ENUM(NSInteger, MyType) {
/// Information about someDecentlyLongValue.
someDecentlyLongValue,
/// Information about anotherDecentlyLongValue.
anotherDecentlyLongValue,
/// Information about aThirdDecentlyLongValue.
aThirdDecentlyLongValue};
After:
typedef NS_ENUM(NSInteger, MyType) {
/// Information about someDecentlyLongValue.
someDecentlyLongValue,
/// Information about anotherDecentlyLongValue.
anotherDecentlyLongValue,
/// Information about aThirdDecentlyLongValue.
aThirdDecentlyLongValue
};
llvm-svn: 200469
|
| |
|
|
|
|
| |
Patch by Roman Divacky!
llvm-svn: 200452
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
a previously-computed linkage as an unsupportable error condition.
Per discussion on cfe-commits, this appears to be a
difficult-to-resolve flaw in our implementation approach;
we may pursue this as a language defect, but for now it's
better to diagnose it as unsupported than to produce
inconsistent results (or assertions). Anything that we can
do to limit how often this diagnostic fires, such as the
changes in r200380, is probably for the best, though.
llvm-svn: 200438
|