| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
jump over destructor calls.
Fixes pr13812.
llvm-svn: 166855
|
| |
|
|
| |
llvm-svn: 166853
|
| |
|
|
| |
llvm-svn: 166849
|
| |
|
|
| |
llvm-svn: 166848
|
| |
|
|
|
|
| |
can be refactored and used in Sema.
llvm-svn: 166847
|
| |
|
|
| |
llvm-svn: 166832
|
| |
|
|
| |
llvm-svn: 166830
|
| |
|
|
|
|
|
| |
is at the end of parsed tokens when an error occurs, otherwise we'll hit
an assertion when trying to annotate the decltype tokens.
llvm-svn: 166826
|
| |
|
|
|
|
| |
<rdar://problem/12547611>.
llvm-svn: 166825
|
| |
|
|
|
|
|
|
|
|
|
| |
doesn't include padding up to the alignment of the record, take this
as a cue that the alignment of the record should (conservatively) be
set to 1. This is similar to other the other cues we use to determine
that the record has a lower alignment, e.g., that the
externally-supplied layout places fields at lower offsets than we
would. Fixes <rdar://problem/12582052>; test case in LLDB.
llvm-svn: 166824
|
| |
|
|
| |
llvm-svn: 166823
|
| |
|
|
|
|
| |
flags for __block variable meta-data.
llvm-svn: 166811
|
| |
|
|
|
|
|
|
|
| |
extern "C", its method definitions must be IRGen'ed
before meta-data for class is generated. Otherwise,
IRGen crashes (to say the least).
// rdar://12581683
llvm-svn: 166809
|
| |
|
|
|
|
| |
is absolute.
llvm-svn: 166808
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
varargs parameter passing.
A strict reading of the ABI indicates that any argument with alignment greater
than 8 may require skipping doublewords in the parameter save area to align
the argument, and hence require skipping GPRs. In practice, this is not done
by GCC. The alignment restriction is used for internal alignment of a
structure, but a structure with 16-byte alignment, for example, is not
itself 16-byte aligned in the parameter save area. Although this is messy,
it has become the de facto standard used in building existing libraries.
My initial varargs support followed the ABI language, but not the de facto
standard. Running the GCC compatibility test suite exposed this issue, and
indeed showed that LLVM didn't pass parameters self-consistently with my
original logic. Removing the additional alignment logic allows the affected
tests to now pass.
I modified the ppc64-varargs-struct.c test case to remove the existing test
for generation of alignment code, which is no longer appropriate.
Built and tested on powerpc64-unknown-linux-gnu with no new regressions.
llvm-svn: 166805
|
| |
|
|
| |
llvm-svn: 166801
|
| |
|
|
|
|
|
|
| |
only actually get the answer right if there was only a single
anonymous struct/union at that level. This is part of
<rdar://problem/11904570>; the test will go into LLDB itself.
llvm-svn: 166781
|
| |
|
|
|
|
| |
Jordan's feedback.
llvm-svn: 166778
|
| |
|
|
|
|
| |
ASTImporter.
llvm-svn: 166777
|
| |
|
|
|
|
| |
allowed to complain about a failure.
llvm-svn: 166776
|
| |
|
|
|
|
| |
variable descriptor captured by a block.
llvm-svn: 166746
|
| |
|
|
| |
llvm-svn: 166744
|
| |
|
|
|
|
|
| |
There intrinsics pass through the upper FP values from the input.
rdar://12558838
llvm-svn: 166743
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This code checks the ASM string to see if the output size is able to fit within
the variable specified as the output. For instance, scalar-to-vector conversions
may not really work. It's on by default, but can be turned off with a flag if
you think you know what you're doing.
This is placed under a flag ('-Wasm-operand-widths') and flag group ('-Wasm').
<rdar://problem/12284092>
llvm-svn: 166737
|
| |
|
|
|
|
| |
what it is meant for.
llvm-svn: 166734
|
| |
|
|
|
|
|
|
|
|
|
|
| |
path notes for cases where a value may be assumed to be null, etc.
Instead of having redundant diagnostics, do a pass over the generated
PathDiagnostic pieces and remove notes from TrackConstraintBRVisitor
that are already covered by ConditionBRVisitor, whose notes tend
to be better.
Fixes <rdar://problem/12252783>
llvm-svn: 166728
|
| |
|
|
| |
llvm-svn: 166723
|
| |
|
|
|
|
| |
layout meta-data work. wip.
llvm-svn: 166717
|
| |
|
|
| |
llvm-svn: 166705
|
| |
|
|
| |
llvm-svn: 166703
|
| |
|
|
| |
llvm-svn: 166684
|
| |
|
|
|
|
|
|
| |
variables when using a gnueabihf or aapcs-vfp target.
Tested by me and Wei-Ren Chen.
llvm-svn: 166679
|
| |
|
|
|
|
| |
and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942.
llvm-svn: 166676
|
| |
|
|
|
|
| |
CodeGen side.
llvm-svn: 166661
|
| |
|
|
|
|
| |
when computing the size of the precompiled preamble.
llvm-svn: 166659
|
| |
|
|
| |
llvm-svn: 166655
|
| |
|
|
|
|
|
| |
replaced by the more efficient, cleaner preprocessor-option version
that occurs earlier in PCH validation.
llvm-svn: 166654
|
| |
|
|
|
|
| |
checking, and disable the old predefines-buffer-diff'ing code path.
llvm-svn: 166653
|
| |
|
|
|
|
|
|
| |
correct IR type.
Reported in the thread "devirtualisation appears to crash clang on covariant functions on ARM" on cfe-dev.
llvm-svn: 166651
|
| |
|
|
| |
llvm-svn: 166650
|
| |
|
|
|
|
|
| |
predefines. We're not quite ready to cut over to these suggested
predefines yet, however.
llvm-svn: 166648
|
| |
|
|
|
|
|
| |
modifiers. (From an idea by Eric...)
<rdar://problem/12284092>
llvm-svn: 166647
|
| |
|
|
|
|
| |
this, for better error recovery.
llvm-svn: 166645
|
| |
|
|
|
|
| |
rebuilds a function type, and that function type has parens around its name.
llvm-svn: 166644
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the macros that are #define'd or #undef'd on the command line. This
checking happens much earlier than the current macro-definition
checking and is far cleaner, because it does a direct comparison
rather than a diff of the predefines buffers. Moreover, it allows us
to use the result of this check to skip over PCH files within a
directory that have non-matching -D's or -U's on the command
line. Finally, it improves the diagnostics a bit for mismatches,
fixing <rdar://problem/8612222>.
The old predefines-buffer diff'ing will go away in a subsequent commit.
llvm-svn: 166641
|
| |
|
|
| |
llvm-svn: 166625
|
| |
|
|
|
|
| |
function. Patch by Grzegorz Jablonski.
llvm-svn: 166617
|
| |
|
|
|
|
| |
-include'd files, etc.
llvm-svn: 166614
|
| |
|
|
| |
llvm-svn: 166599
|
| |
|
|
|
|
| |
reference-counted.
llvm-svn: 166587
|