| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
The thread, memory, dataflow and function sanitizers are now diagnosed if
enabled explicitly on an unsupported platform. Unsupported sanitizers which
are enabled implicitly (as part of a larger group) are silently disabled. As a
side effect, this makes SanitizerArgs parsing toolchain-dependent (and thus
essentially reverts r188058), and moves SanitizerArgs ownership to ToolChain.
Differential Revision: http://llvm-reviews.chandlerc.com/D1990
llvm-svn: 193875
|
| |
|
|
|
|
|
|
|
|
| |
Enables the clang driver to begin targeting specific CPUs. Introduced a
"generic" CPU which will ensure that the optional FP feature is enabled
by default when it gets to LLVM, without needing any extra arguments.
Cortex-A53 and A-57 are also introduced with tests, although backend
handling of them does not yet exist.
llvm-svn: 193740
|
| |
|
|
|
|
| |
We'll need to intercept a few function in libm.
llvm-svn: 193644
|
| |
|
|
|
|
|
|
| |
Allow users to disable or enable CRC subtarget feature.
Differential Revision: http://llvm-reviews.chandlerc.com/D2037
llvm-svn: 193600
|
| |
|
|
|
|
|
|
|
| |
Although we wire up a bit for v8fp for macro setting
purposes, we don't set a macro yet. Need to ask list
about that.
Change-Id: Ic9819593ce00882fbec72757ffccc6f0b18160a0
llvm-svn: 193367
|
| |
|
|
|
| |
Change-Id: If9b649c92e7196e3e791948545dc80901a0761eb
llvm-svn: 193365
|
| |
|
|
|
|
|
|
|
|
|
| |
Adds some Cortex-A53 strings where they were missing before.
Cortex-A57 is entirely new to clang.
Doesn't touch code only used by Darwin, in consequence of which
one of the A53 lines has been removed.
Change-Id: I5edb58f6eae93947334787e26a8772c736de6483
llvm-svn: 193364
|
| |
|
|
|
|
| |
Also fixes some funky formatting.
llvm-svn: 193079
|
| |
|
|
|
|
| |
divide in the mode that we are compiling in (depending on the target features), not defined if we don't. Should be compatible with the GCC conterpart. Also adding a -hwdiv option to overide the default behavior.
llvm-svn: 193074
|
| |
|
|
|
| |
Review: http://llvm-reviews.chandlerc.com/D1974
llvm-svn: 193069
|
| |
|
|
| |
llvm-svn: 193057
|
| |
|
|
|
|
| |
some linkers depend on it.
llvm-svn: 193048
|
| |
|
|
|
|
|
| |
pick up the common bits ubsan actually needs. Also remove whole-archive when we
aren't trying to re-export the symbols.
llvm-svn: 193022
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These options specify 64-bit FP registers and 32-bit FP registers respectively.
When using -mfp32, the FPU has 16x double-precision registers overlapping with
the 32x single-precision registers (each double-precision register overlaps
two single-precision registers).
When using -mfp64, the FPU has 32x double-precision registers overlapping with
the 32x single-precision registers (each double-precision register overlaps
with one single-precision register and has an additional 32-bits).
MSA requires -mfp64.
llvm-svn: 192899
|
| |
|
|
|
|
| |
This should have no functional behavior.
llvm-svn: 192838
|
| |
|
|
| |
llvm-svn: 192817
|
| |
|
|
| |
llvm-svn: 192815
|
| |
|
|
|
|
|
| |
runtime. It will be silently ignored and regardless
of deployment target. // rdar://14803286
llvm-svn: 192719
|
| |
|
|
|
|
| |
Adjust linkage to make more sense for older releases.
llvm-svn: 192615
|
| |
|
|
|
|
|
|
| |
Use -no-struct-path-tbaa to turn it off.
This is the same as r191695, which was reverted because it depends on a
commit that has issues.
llvm-svn: 192497
|
| |
|
|
| |
llvm-svn: 192437
|
| |
|
|
| |
llvm-svn: 192412
|
| |
|
|
|
|
| |
options are aliases now.
llvm-svn: 192290
|
| |
|
|
|
|
| |
general solution.
llvm-svn: 191951
|
| |
|
|
|
|
|
|
|
| |
-static. So do not turn off the PIC flag if -static passed to the
driver in case of MIPS target.
http://llvm.org/bugs/show_bug.cgi?id=14693
llvm-svn: 191947
|
| |
|
|
| |
llvm-svn: 191900
|
| |
|
|
| |
llvm-svn: 191736
|
| |
|
|
|
|
| |
-relaxed-aliasing.
llvm-svn: 191725
|
| |
|
|
|
|
| |
Use -no-struct-path-tbaa to turn it off.
llvm-svn: 191695
|
| |
|
|
| |
llvm-svn: 191640
|
| |
|
|
|
|
|
|
|
| |
disable-objc-default-synthesize-properties.
We want the modern behavior most of the time, so inverting the option simplifies
the driver and the tests.
llvm-svn: 191551
|
| |
|
|
|
|
|
| |
We started parsing /FI in r191442, and now we can pass it on to the
fallback too.
llvm-svn: 191537
|
| |
|
|
| |
llvm-svn: 191533
|
| |
|
|
|
|
|
|
|
| |
We were previously mostly passing it through, but -O0 and -O3 are not valid
options to cl.exe.
We should translate -O0 to /Od and -O3 to /Ox. -O{1,2,s} get passed through.
llvm-svn: 191323
|
| |
|
|
| |
llvm-svn: 191316
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Review: http://llvm-reviews.chandlerc.com/D1546.
I have picked up this patch form Lawrence
(http://llvm-reviews.chandlerc.com/D1063) and did a few changes.
From the original change description (updated as appropriate):
This patch adds a check that ensures that modules only use modules they
have so declared. To this end, it adds a statement on intended module
use to the module.map grammar:
use module-id
A module can then only use headers from other modules if it 'uses' them.
This enforcement is off by default, but may be turned on with the new
option -fmodules-decluse.
When enforcing the module semantics, we also need to consider a source
file part of a module. This is achieved with a compiler option
-fmodule-name=<module-id>.
The compiler at present only applies restrictions to the module directly
being built.
llvm-svn: 191283
|
| |
|
|
|
|
| |
this option to the assembler.
llvm-svn: 191282
|
| |
|
|
|
|
|
| |
gcc doesn't support "gcc -m sse" and this was not tested in clang and only
used for link argument on darwin, so this was very likely just a bug.
llvm-svn: 191251
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This solves two problems:
1) MSBuild will not flag the build as unsuccessful just because we print
an error in the output, since "error(clang):" doesn't seem to match
the regex it's using.
2) It becomes more clear that the diagnostic is coming from clang as
supposed to cl.exe.
Differential Revision: http://llvm-reviews.chandlerc.com/D1735
llvm-svn: 191250
|
| |
|
|
|
|
|
|
|
|
| |
This solves the problem of fallback onto ourselves if clang-cl
has been renamed to cl.exe and put on the PATH, as happens with
the VS integration.
Differential Revision: http://llvm-reviews.chandlerc.com/D1731
llvm-svn: 191099
|
| |
|
|
|
|
|
|
|
|
| |
-fsanitize=address.
Instead add the ASan runtime to the linker command line so that only the ASan API functions can be undefined in the target library.
Fixes http://llvm.org/bugs/show_bug.cgi?id=17275
llvm-svn: 191076
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When this flag is enabled, clang-cl falls back to cl.exe if it
cannot compile the code itself for some reason.
The idea is to use this to help build projects that almost compile
with clang-cl, except for some files that can then be built with
the fallback mechanism.
Differential Revision: http://llvm-reviews.chandlerc.com/D1711
llvm-svn: 191034
|
| |
|
|
| |
llvm-svn: 191001
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I put in the warnings because MSVC has them, but I don't think they're very
useful.
Clang does not warn about overriding flags in general, e.g. it's perfectly
fine to have -fomit-frame-pointer followed by -fno-omit-frame-pointer.
We should focus on warning where things get confusing, such as with the
/TP and /TC options. In "clang-cl /TC a.c /TP b.cc", the user might not
realize that the /TP flag will apply to both files, and we warn about that.
Differential Revision: http://llvm-reviews.chandlerc.com/D1718
llvm-svn: 190964
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This will define _MSC_VER to 1700 by default and avoid linker errors
from /failifmismatch linker directives in the C++ standard headers.
Most people trying out the Visual Studio integration are using 2012,
since that's the only version that clang-format works with. This way
they don't have to pass funky -Xclang -fmsc-version=1700 flags just to
link against the standard C++ runtime.
llvm-svn: 190908
|
| |
|
|
|
|
|
|
| |
possible currently.
rdar://14461559
llvm-svn: 190880
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously we would warn about unused arguments such as /MD when linking.
Clang already has logic to ignore compile-only options, e.g. for -D and -U.
This patch extends that to include clang-cl's compile-only options too.
Also, some clang-cl options should always be ignored. Doing this earlier
means they get ignored both for compilation and link-only invocations.
llvm-svn: 190825
|
| |
|
|
| |
llvm-svn: 190737
|
| |
|
|
| |
llvm-svn: 190729
|
| |
|
|
| |
llvm-svn: 190703
|