| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Unadvertently removed in r285019
llvm-svn: 285041
|
| |
|
|
|
|
|
|
|
| |
Fuchsia has experimental support for 32-bit x86 and ARM targets, add
them to the list of supported targets.
Differential Revision: https://reviews.llvm.org/D25838
llvm-svn: 285038
|
| |
|
|
|
|
| |
Fixes build break for configurations that use shared libraries.
llvm-svn: 285037
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
by blocks.
Add a new warning "-Wblock-capture-autoreleasing". The warning warns
about implicitly autoreleasing out-parameters captured by blocks which
can introduce use-after-free bugs that are hard to debug.
rdar://problem/15377548
Differential Revision: https://reviews.llvm.org/D25844
llvm-svn: 285031
|
| |
|
|
|
|
| |
Twines should not be stack allocated. This somehow managed to get past me.
llvm-svn: 285028
|
| |
|
|
|
|
|
| |
This is a fixup for r285019, adding an `#ifdef __x86_64__` since
the os_log builtin is platform specific.
llvm-svn: 285027
|
| |
|
|
|
|
|
|
|
|
|
| |
Move all the label construction for the various method list emission into
EmitMethodList. Rather than have all the names be constructed in pieces in all
of the callers of EmitMethodList, have this occur in one site. This also makes
the calls much easier to understand as we simplify identify the type of the
method list being emitted and the interface name for which it is being emitted.
NFC.
llvm-svn: 285023
|
| |
|
|
|
|
|
|
| |
to emit the <template-args> portion. Refactor so that mangleUnresolvedName
actually emits the entire <unresolved-name>, so this mistake is harder to make
again.
llvm-svn: 285022
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r285007 and reapply r284990, with a fix for the
opencl test that I broke. Original commit message follows:
These new builtins support a mechanism for logging OS events, using a
printf-like format string to specify the layout of data in a buffer.
The _buffer_size version of the builtin can be used to determine the size
of the buffer to allocate to hold the data, and then __builtin_os_log_format
can write data into that buffer. This implements format checking to report
mismatches between the format string and the data arguments. Most of this
code was written by Chris Willmore.
Differential Revision: https://reviews.llvm.org/D25888
llvm-svn: 285019
|
| |
|
|
|
|
| |
rather than including an extra one for each level of 'operator->()' invoked.
llvm-svn: 285015
|
| |
|
|
|
|
| |
This reverts commit r284990, two opencl test are broken
llvm-svn: 285007
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: mkuper, rengolin, hans
Subscribers: cfe-commits
Tags: #clang-c
Differential Revision: https://reviews.llvm.org/D25893
llvm-svn: 285001
|
| |
|
|
|
|
| |
Found by the UBSan buildbot.
llvm-svn: 285000
|
| |
|
|
|
|
|
|
|
|
|
| |
resolved the -> to a call to a specific operator-> function. The particular
test case added here is actually being mishandled: the implicit member access
should not be type-dependent (because it's accessing a non-type-dependent
member of the current instantiation), but calls to a type-dependent operator->
that is a member of the current instantiation would be liable to hit the same
codepath.
llvm-svn: 284999
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
These new builtins support a mechanism for logging OS events, using a
printf-like format string to specify the layout of data in a buffer.
The _buffer_size version of the builtin can be used to determine the size
of the buffer to allocate to hold the data, and then __builtin_os_log_format
can write data into that buffer. This implements format checking to report
mismatches between the format string and the data arguments. Most of this
code was written by Chris Willmore.
Differential Revision: https://reviews.llvm.org/D25888
llvm-svn: 284990
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang-format.py currently seems to treat vim.current.buf as ascii-encoded data,
which leads to an UnicodeDecodeError when trying to format any text containing
non-ascii characters:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File ".../tools/clang/tools/clang-format/clang-format.py", line 110, in <module>
main()
File ".../tools/clang/tools/clang-format/clang-format.py", line 87, in main
stdout, stderr = p.communicate(input=text.encode(encoding))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 3996: ordinal not in range(128)
llvm-svn: 284988
|
| |
|
|
|
|
| |
I guess we should always specify triples in all analyzer tests, regardless.
llvm-svn: 284969
|
| |
|
|
|
|
|
| |
because new test file is failing in some OS.
test/CodeGen/avx512-reduceIntrin.c
llvm-svn: 284967
|
| |
|
|
| |
llvm-svn: 284964
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+,*,&&,||) intrinsics to Clang
Committed after LGTM and check-all
Vector-reduction arithmetic accepts vectors as inputs and produces scalars as outputs.
This class of vector operation forms the basis of many scientific computations.
In vector-reduction arithmetic, the evaluation off is independent of the order of the input elements of V.
Used bisection method. At each step, we partition the vector with previous
step in half, and the operation is performed on its two halves.
This takes log2(n) steps where n is the number of elements in the vector.
Differential Revision: https://reviews.llvm.org/D25527
llvm-svn: 284963
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit improves the '-Wformat' warnings by ensuring that the formatting
checker can see through Objective-C message sends when we are calling an
Objective-C method with an appropriate format_arg attribute.
rdar://23622446
Differential Revision: https://reviews.llvm.org/D25820
llvm-svn: 284961
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This checker does not emit reports, however it influences the analysis
by providing complete summaries for, or otherwise improving modeling of,
various standard library functions.
This should reduce the number of infeasible paths explored during analysis.
The custom function summary format used in this checker is superior to
body farms by causing less unnecessary state splits,
which would result in better analysis performance.
Differential Revision: https://reviews.llvm.org/D20811
llvm-svn: 284960
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
has no field declaration.
This commit fixes an invalid Winitializer-overrides warning that's shown
when analyzing a second (or any after the first) instantiation of a designated
initializer. This invalid warning is fixed by making sure that a
DesignatedInitExpr is rebuilt by the tree transformer when it has a field
designator whose FieldDecl* hasn't been yet initialized. This ensures that a
different DesignatedInitExpr is processed by Sema for every instantiation, and
thus the invalid warning is avoided.
rdar://28768441
Differential Revision: https://reviews.llvm.org/D25777
llvm-svn: 284959
|
| |
|
|
| |
llvm-svn: 284958
|
| |
|
|
|
|
| |
native IR like we do for 128/256-bit, but with the addition of masking.
llvm-svn: 284956
|
| |
|
|
|
|
| |
with selects and the older unmasked builtins.
llvm-svn: 284954
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: With MSVC 2013 and GCC < 4.8 gone, we can use the "constexpr" keyword.
Reviewers: bkramer, mehdi_amini
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25901
llvm-svn: 284947
|
| |
|
|
| |
llvm-svn: 284936
|
| |
|
|
|
|
| |
selects and the older unmasked builtins.
llvm-svn: 284935
|
| |
|
|
|
|
|
|
|
|
|
| |
With this patch, all intrinsics in this file (with an exception of a handful of a recently added ones) will be documented. I will send out a patch for 4 missining intrisics later.
The doxygen comments are automatically generated based on Sony's intrinsics document.
I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream. This patch was internally reviewed by Yunzhong Gao.
llvm-svn: 284934
|
| |
|
|
|
|
| |
different lambda-sigs, so they should have different counters.
llvm-svn: 284933
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Limit clang/test/Frontend/gnu-mcount.c to ARM and AArch64 only.
Reviewers: abdulras, honggyu.kim, rengolin
Subscribers: aemerson, rengolin, cfe-commits
Tags: #clang-c
Differential Revision: https://reviews.llvm.org/D25842
llvm-svn: 284931
|
| |
|
|
|
|
| |
and older unmasked builtins.
llvm-svn: 284929
|
| |
|
|
|
|
| |
and older unmasked builtins.
llvm-svn: 284928
|
| |
|
|
| |
llvm-svn: 284927
|
| |
|
|
|
|
| |
These tests already exist in the avx512vl test and represent avx512vl instructions.
llvm-svn: 284926
|
| |
|
|
|
|
| |
and the older unmaksed builtins.
llvm-svn: 284925
|
| |
|
|
|
|
| |
and the older non-masked versions instead.
llvm-svn: 284924
|
| |
|
|
| |
llvm-svn: 284923
|
| |
|
|
|
|
| |
select in the header file with the older unmasked versions instead.
llvm-svn: 284920
|
| |
|
|
| |
llvm-svn: 284907
|
| |
|
|
| |
llvm-svn: 284906
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
mismatched dynamic exception specifications in expressions from an error to a
warning, since this is no longer ill-formed in C++1z.
Allow reference binding of a reference-to-non-noexcept function to a noexcept
function lvalue. As defect resolutions, also allow a conditional between
noexcept and non-noexcept function lvalues to produce a non-noexcept function
lvalue (rather than decaying to a function pointer), and allow function
template argument deduction to deduce a reference to non-noexcept function when
binding to a noexcept function type.
llvm-svn: 284905
|
| |
|
|
|
|
|
|
| |
rdar://28503343
Differential Revision: http://reviews.llvm.org/D25806
llvm-svn: 284899
|
| |
|
|
|
|
|
|
| |
Emit the actual path to the non-modular include.
rdar://28897010
llvm-svn: 284897
|
| |
|
|
|
|
|
| |
Ref_Compatible_With_Added_Qualification. We always treated these two values the
same way.
llvm-svn: 284895
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has two significant effects:
1) Direct relational comparisons between null pointer constants (0 and nullopt)
and pointers are now ill-formed. This was always the case for C, and it
appears that C++ only ever permitted by accident. For instance, cases like
nullptr < &a
are now rejected.
2) Comparisons and conditional operators between differently-cv-qualified
pointer types now work, and produce a composite type that both source
pointer types can convert to (when possible). For instance, comparison
between 'int **' and 'const int **' is now valid, and uses an intermediate
type of 'const int *const *'.
Clang previously supported #2 as an extension.
We do not accept the cases in #1 as an extension. I've tested a fair amount of
code to check that this doesn't break it, but if it turns out that someone is
relying on this, we can easily add it back as an extension.
This is a re-commit of r284800.
llvm-svn: 284890
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
SetVector already used DenseSet, but SmallSetVector used std::set. This
leads to surprising performance differences. Moreover, it means that
the set of key types accepted by SetVector and SmallSetVector are
quite different!
In order to make this change, we had to convert some callsites that used
SmallSetVector<std::string, N> to use SmallSetVector<CachedHashString, N>
instead.
Reviewers: timshen
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25648
llvm-svn: 284887
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
clang-tidy's modernize-use-auto check uses the SourceRange of a
TypeLoc when replacing the type with auto.
This was producing the wrong result for multi-token builtin types
like long long:
-long long *ll = new long long();
+auto long *ll = new long long();
Reviewers: alexfh, hokein, rsmith, Prazek, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25363
llvm-svn: 284885
|
| |
|
|
|
|
|
|
| |
Instead of repeating the diagnostic, use "expected-note N".
Test-only change.
llvm-svn: 284882
|