| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Clang implements an enable_if attribute as an extension. Hook up `-Wpedantic`
to issue an extension usage warning when __enable_if__ is used.
llvm-svn: 261192
|
| |
|
|
|
|
|
| |
If ActOn*Op fails, we will forget to diagnose typos in the LHS of
expressions.
llvm-svn: 261191
|
| |
|
|
|
|
| |
sanitizer and w/o ...=[func,bb,edge]. This makes this syntax a superset of the GCC's syntax
llvm-svn: 261182
|
| |
|
|
| |
llvm-svn: 261178
|
| |
|
|
|
|
|
|
| |
We prematurely ended the line at the null byte which caused us to crash
down stream because we tried to reason about columns beyond the end of
the line.
llvm-svn: 261171
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An optional nopartial can be placed after the platform name.
int bar() __attribute__((availability(macosx,nopartial,introduced=10.12))
When deploying back to a platform version prior to when the declaration was
introduced, with 'nopartial', Clang emits an error specifying that the function
is not introduced yet; without 'nopartial', the behavior stays the same: the
declaration is `weakly linked`.
A member is added to the end of AttributeList to save the location of the
'nopartial' keyword. A bool member is added to AvailabilityAttr.
The diagnostics for 'nopartial' not-yet-introduced is handled in the same way as
we handle unavailable cases.
Reviewed by Doug Gregor and Jordan Rose.
rdar://23791325
llvm-svn: 261163
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
thousands of modules, each of which declares the same namespace, linearly
scanning the redecl chain looking for a visible declaration (once for each leaf
module, for each use) performs very poorly. Namespace visibility can only
decrease when we leave a module during a module build step, and we never care
*which* visible declaration of a namespace we find, so we can cache this very
effectively.
This results in a 35x speedup on one of our internal build steps (2m -> 3.5s),
but is hard to unit test because it requires a very large number of modules.
Ideas for a test appreciated! No functionality change intended other than the
speedup.
llvm-svn: 261161
|
| |
|
|
|
|
| |
to trace-bb, but has a different API. We already use the equivalent flag in GCC for Linux kernel fuzzing. We may be able to use this flag with AFL too
llvm-svn: 261159
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The assert is triggered because isObjCRetainableType() is called on the
canonicalized return type that has been stripped of the typedefs and
attributes attached to it. To fix this assert, this commit gets the
original return type from CurCodeDecl or BlockInfo and uses it instead
of the canoicalized type.
rdar://problem/24470031
Differential Revision: http://reviews.llvm.org/D16914
llvm-svn: 261151
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
I've got a patchset in my home directory to integrate support for
SafeStack into CloudABI's C library. All of the CloudABI unit tests
still seem to pass. Pretty sweet!
This change adds the necessary changes to Clang to make
-fsanitize=safe-stack work on CloudABI. Without it, passing this command
line flag throws an error.
Reviewers: eugenis, samsonov
Differential Revision: http://reviews.llvm.org/D17243
llvm-svn: 261135
|
| |
|
|
|
|
|
| |
We didn't correctly handle some edge cases, causing us to bail out
before correcting all the typos.
llvm-svn: 261109
|
| |
|
|
| |
llvm-svn: 261098
|
| |
|
|
|
|
| |
Added codegen for captured data members in non-static member functions.
llvm-svn: 261089
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
OpenCL Extension v1.2 s9.5 allows half precision floating point
type literals with suffices h or H when cl_khr_fp16 is enabled.
Example: half x = 1.0h;
Patch by Liu Yaxun (Sam)!
Differential Revision: http://reviews.llvm.org/D16865
llvm-svn: 261084
|
| |
|
|
|
|
|
| |
Patch fixes possible problems with correct handling arrays as
expressions in initialization, conditions etc in loop-based constructs.
llvm-svn: 261080
|
| |
|
|
|
|
|
|
|
|
| |
This appears to be passing '-Wl,-order_file' to Linux link commands,
which then causes the linker to silently, behind the scenes, write the
output to 'rder_file' instead of somewhere else. Will work with Chris to
figure out the proper support for this, but so far there are numerous
people who can't get Clang to update when they build because of this.
llvm-svn: 261054
|
| |
|
|
| |
llvm-svn: 261053
|
| |
|
|
| |
llvm-svn: 261047
|
| |
|
|
| |
llvm-svn: 261046
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Use the new pipeline implemented in D17115
Reviewers: tejohnson
Subscribers: joker.eph, cfe-commits
Differential Revision: http://reviews.llvm.org/D17272
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 261045
|
| |
|
|
|
|
| |
Patch by Erik Pilkington!
llvm-svn: 261034
|
| |
|
|
|
|
|
|
|
| |
ptxas optimizations are disabled if we need to generate debug info
as ptxas does not accept '-g' otherwise.
Differential Revision: http://reviews.llvm.org/D17111
llvm-svn: 261018
|
| |
|
|
| |
llvm-svn: 261009
|
| |
|
|
|
|
| |
constants in one matcher.
llvm-svn: 261008
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The keyword "template" isn't necessary when
printing a fully-qualified qualtype name, and, in fact,
results in a syntax error if one tries to use it. So stop
printing it.
Reviewers: rsmith, rnk
Subscribers: rnk, klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D17214
llvm-svn: 261005
|
| |
|
|
|
|
|
| |
Tag the test with "REQUIRES: can-remove-opened-file", which is what we
use for the similar test Modules/explicit-build-missing-file.cpp.
llvm-svn: 260994
|
| |
|
|
|
|
|
|
| |
Previously we would leave behind the old name specifier prefix, which
creates an invalid AST. Other callers of CorrectTypo update their
CXXScopeSpec objects with the correction specifier if one is present.
llvm-svn: 260993
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Like cl.exe, clang-cl allows adding system include directories via the
INCLUDE env var. Having a driver flag for this functionality is useful,
so add this too.
(In the future, we probably also want to have a flag alternative to
VCINSTALLDIR as used in MSVCToolChain::getVisualStudioBinaries(), and
a way to override the registry accesses in MSVCToolChain::getWindowsSDKDir()
-- maybe -ivcroot= and -iwinsdkroot=?).
llvm-svn: 260990
|
| |
|
|
|
|
| |
Loop-based directives allow to use iterators as loop counters. Iterators are allowed to define their own operators. This patch allows to use compound assignment operators for iterators.
llvm-svn: 260957
|
| |
|
|
|
|
|
|
| |
Expressions inside 'schedule'|'dist_schedule' clause must be captured in
combined directives to avoid possible crash during codegen. Patch
improves handling of such constructs
llvm-svn: 260954
|
| |
|
|
|
|
|
|
| |
calling BeginSourceFileAction.
I don't have a test case to add unfortunately.
llvm-svn: 260937
|
| |
|
|
|
|
| |
'\\', or lit complains with "parser error".
llvm-svn: 260929
|
| |
|
|
|
|
|
| |
r260925 introduced a version of the *trim methods which is preferable
when trimming a single kind of character. Update all users in clang.
llvm-svn: 260927
|
| |
|
|
| |
llvm-svn: 260921
|
| |
|
|
|
|
|
|
|
| |
I'd accidentally skipped the CMake check in a premature optimisation. I'd also
put the original test in completely the wrong place.
Thanks Jonas Hahnfeld!
llvm-svn: 260898
|
| |
|
|
|
|
|
|
|
| |
In my previous commit (rL260881) I forget to svn add tests. This commit adds
them.
Differential Revision: http://reviews.llvm.org/D16846
llvm-svn: 260882
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the following bugs in __builtin_classify_type implementation:
1) Support for member functions and fields
2) Same behavior as GCC in C mode (specifically, return integer_type_class for
enums and pointer_type_class for function pointers and arrays). Behavior in
C++ mode didn't changed.
Also, it refactors the whole implementation, by replacing a sequence of
if-else-if with a couple of switches.
Differential Revision: http://reviews.llvm.org/D16846
llvm-svn: 260881
|
| |
|
|
|
|
|
| |
Sync barrier will be emitted after generation of firstprivate variables
only if one of the firstprivate vars is used in lastprivate clause.
llvm-svn: 260877
|
| |
|
|
| |
llvm-svn: 260874
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The isAnyPointer() matcher is useful for http://reviews.llvm.org/D15623.
Reviewers: alexfh, klimek
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15819
llvm-svn: 260872
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the case that the array indexing itself is within a type dependent context,
bail out of the evaluation. We would previously try to symbolically evaluate
the expression which would then try to evaluate a non-address expression as an
address, triggering an assertion in Asserts builds.
We only need to consider the array subscript expression itself as in the case
that the base itself being type dependent is handled appropriately in EvalAddr.
Resolves PR26599.
llvm-svn: 260867
|
| |
|
|
|
|
|
|
|
|
| |
printing policy.
Enable it for USRs and names when indexing.
Forward references can have different template argument names; including them
makes USRs and names unstable, since the name depends on whether we saw a forward reference or not.
llvm-svn: 260866
|
| |
|
|
|
|
|
|
| |
These codepaths would generate warnings with GCC on linux even though the switch
was covered. Add llvm_unreachable markers to indicate that the switch should be
covered. NFC.
llvm-svn: 260865
|
| |
|
|
|
|
|
| |
Propagate const throughout these methods as they are non-mutating analyzers of
state. NFC.
llvm-svn: 260864
|
| |
|
|
| |
llvm-svn: 260861
|
| |
|
|
|
|
| |
symbols into the clangIndex library.
llvm-svn: 260858
|
| |
|
|
| |
llvm-svn: 260856
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ programs compiled for profiling (using `-pg`) should be linked with
`-lc++_p` (or `-lstdc++_p`, depending on the `-stdlib=` setting), not
with the regular C++ libraries.
Add a `FreeBSD::AddCXXStdlibLibArgs()` override to handle this, and add
a test case for it. While here, extend the test case for the proper
passing of -lm and -lm_p.
Reviewers: compnerd, davide, dws, emaste
Reviewed By: compnerd
Differential Revision: http://reviews.llvm.org/D16264
llvm-svn: 260851
|
| |
|
|
|
|
| |
Found by lsan.
llvm-svn: 260850
|
| |
|
|
| |
llvm-svn: 260847
|