| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
The new lld gnu frontend does not support the -target option
llvm-svn: 253874
|
| |
|
|
|
|
| |
No functional changes intended.
llvm-svn: 253873
|
| |
|
|
|
|
|
|
|
|
| |
Before:
bool b = f(g<int>)&&c;
After:
bool b = f(g<int>) && c;
llvm-svn: 253872
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
multiple lines, also break before the variable name.
Before:
std::vector<aaaaaa, // wrap
aa> aaa;
After:
std::vector<aaaaaa, // wrap
aa>
aaa;
llvm-svn: 253871
|
| |
|
|
|
|
| |
Runtime library requires, that codegen for 'depend' clause for 'out' dependency kind must be the same as codegen for 'depend' clause with 'inout' dependency.
llvm-svn: 253866
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If AS of a variable/parameter declaration is not set by the source,
OpenCL v2.0 s6.5 defines explicit rules for default ASes:
- The AS of global and local static variables defaults to global;
- All pointers point to generic AS.
http://reviews.llvm.org/D13168
llvm-svn: 253863
|
| |
|
|
| |
llvm-svn: 253860
|
| |
|
|
|
|
|
|
|
| |
the case where a specific range is replaced by new text. Previously,
the calculation would shift any position from within a replaced region
to the first character after the region. This is undersirable, e.g. for
clang-format's include sorting.
llvm-svn: 253859
|
| |
|
|
| |
llvm-svn: 253851
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D14134
llvm-svn: 253849
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff makes sure that the driver does not pass
-fomit-frame-pointer or -momit-leaf-frame-pointer to
the frontend when -pg is used. Currently, clang gives
an error if -fomit-frame-pointer is used in combination
with -pg, but -momit-leaf-frame-pointer was forgotten.
Also, disable frame pointer elimination in the frontend
when -pg is set.
Patch by Stefan Kempf.
llvm-svn: 253846
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The pointer returned by __RTDynamicCast must be bitcasted. However, it
was not expected that __RTDynamicCast would be invoked, resulting in the
bitcast occuring in a different BasicBlock than the invoke. This caused
a down-stream PHI to get confused about which BasicBlock the incomming
value was from.
This fixes PR25606.
llvm-svn: 253843
|
| |
|
|
|
|
| |
resolved by a call to yield_value / return_value before rejecting them.
llvm-svn: 253817
|
| |
|
|
| |
llvm-svn: 253816
|
| |
|
|
|
|
|
|
|
| |
Cross compiling from linux and OSX results in Error: Exec format.
This is because the linker is expecting ELF formated objects.
By passing the target we can explicitly tell the linker that
it should be linking COFF objects regardless of the host.
llvm-svn: 253813
|
| |
|
|
| |
llvm-svn: 253812
|
| |
|
|
|
|
| |
co_await and co_yield, and use it to hold await_* calls.
llvm-svn: 253811
|
| |
|
|
| |
llvm-svn: 253772
|
| |
|
|
|
|
|
|
|
| |
Clang should not convert tokens to Unicode when preprocessing assembly
files.
Fixes PR25558.
llvm-svn: 253738
|
| |
|
|
| |
llvm-svn: 253731
|
| |
|
|
| |
llvm-svn: 253726
|
| |
|
|
| |
llvm-svn: 253725
|
| |
|
|
|
|
|
| |
This allows us to construct Linux toolchains without a valid linker. This
is needed for example to build a CUDA device toolchain after r253385.
llvm-svn: 253707
|
| |
|
|
|
|
|
|
|
|
|
| |
Rather than storing BeforeInfo in the DenseMap by value, this stores a
unique_ptr to it, so that we can keep a pointer to it live across
subsequent DenseMap insertions.
This change also removes the unique_ptr wrapper around BeforeVect
because now we're indirecting at a higher level.
llvm-svn: 253694
|
| |
|
|
|
|
| |
Fixes PR25584.
llvm-svn: 253680
|
| |
|
|
|
|
|
|
|
|
| |
The patch expanded the flag *at the end*, breaking invocations like:
clang-cl /W4 -Wno-unused-parameter
Reverting for now.
llvm-svn: 253678
|
| |
|
|
|
|
| |
work properly.
llvm-svn: 253674
|
| |
|
|
| |
llvm-svn: 253672
|
| |
|
|
| |
llvm-svn: 253671
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
MACRO(> );
After:
MACRO(>);
Not overly important, but easy and good for symmetry reasons :-).
llvm-svn: 253669
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
extend.foo.Bar {
}
After:
extend .foo.Bar {
}
llvm-svn: 253667
|
| |
|
|
|
|
|
|
|
| |
Denis Zobnin.
This patch adds support of #pragma vtordisp inside functions in attempt to improve compatibility. Microsoft compiler appears to save the stack of vtordisp modes on entry of struct methods' bodies and restore it on exit (method-local vtordisp).
Differential Revision: http://reviews.llvm.org/D14467
llvm-svn: 253650
|
| |
|
|
| |
llvm-svn: 253647
|
| |
|
|
|
|
|
| |
Fixes crash when passing '-gmodules' in the compiler options.
rdar://23588717
llvm-svn: 253645
|
| |
|
|
|
|
| |
unevaluated operands.
llvm-svn: 253641
|
| |
|
|
| |
llvm-svn: 253636
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lambdas as escaped.
The analyzer currently reports dead store false positives when a local variable
is captured by reference in a C++ lambda.
For example:
int local = 0; auto lambda = [&local]() {
local++;
};
local = 7; // False Positive: Value stored to 'local' is never read
lambda();
In this case, the assignment setting `local` to 7 is not a dead store because
the called lambda will later read that assigned value.
This commit silences this source of false positives by treating locals captured
by reference in C++ lambdas as escaped, similarly to how the DeadStoresChecker
deals with locals whose address is taken.
rdar://problem/22165179
llvm-svn: 253630
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This code is a bit undesirable, but it gets clang to work with the autoconf and cmake-built libclang_rt.profile libraries.
Reviewers: bogner
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D14847
llvm-svn: 253625
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: 's' is used to specify sgprs and 'v' is used to specify vgprs.
Reviewers: arsenm, echristo
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D14307
llvm-svn: 253610
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ConstantEvaluated while substituting into non-type template argument defaults.
Also address a typo from a prior patch that performed a similar fix during Parsing of default non-type template arguments. I left the RAII ExpressionEvaluationContext variable Name as Unevaluated though we had switched the context to ConstantEvaluated.
There should be no functionality change here - since when expression evaluation context is popped off, for the most part these two contexts currently behave similarly in regards to lambda diagnostics and odr-use tracking.
Like its parsing counterpart, this patch presages the advent of constexpr lambda patches...
llvm-svn: 253590
|
| |
|
|
| |
llvm-svn: 253582
|
| |
|
|
|
|
|
|
| |
FIXME: Attributes.inc may be an independent target.
Differential Revision: http://reviews.llvm.org/D14760
llvm-svn: 253554
|
| |
|
|
|
|
|
| |
Add support for vector mode attributes like "attribute((mode(V4SF)))". Also add warning about deprecated vector modes like GCC does.
Differential Revision: http://reviews.llvm.org/D14744
llvm-svn: 253551
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit r253512.
This likely broke the bots in:
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/20202
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/3787
llvm-svn: 253542
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit r253519.
This likely broke the bots in
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/20202
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/3787
llvm-svn: 253541
|
| |
|
|
|
|
| |
std::coroutine_traits.
llvm-svn: 253535
|
| |
|
|
|
|
|
|
|
|
|
| |
driving a canonical difference between that and an unqualified
type is a really bad idea when both are valid. Instead, remember
that it was there in a non-canonical way, then look for that in
the one place we really care about it: block captures. The net
effect closely resembles the behavior of a decl attribute, except
still closely following ARC's standard qualifier parsing rules.
llvm-svn: 253534
|
| |
|
|
|
|
|
|
|
| |
to start at the offset of the first ivar instead of the rounded-up
end of the superclass. The latter could include a large amount of
tail padding because of a highly-aligned ivar, and subclass ivars
can be laid out within that.
llvm-svn: 253533
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Conversions between unrelated pointer types (e.g. char * and void *) involve
bitcasts which were not properly modeled in case of static initializers. The
patch fixes this problem.
The problem was originally spotted by Artem Dergachev. Patched by Yuri Gribov!
Differential Revision: http://reviews.llvm.org/D14652
llvm-svn: 253532
|
| |
|
|
|
|
|
|
|
|
|
| |
In the Microsoft ABI, the vftable is laid out in the order in the
declaration order of the entities defined within it.
Obviously, only virtual methods end up in the vftable but they will be
placed into the table at the same position as the first entity with the
same name.
llvm-svn: 253523
|