| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This is currently unused by any test. The code path would still be hit
by clang on ppc, but
* PPC has not been supported on current versions of OS X
* A port of current clang to older OS X on ppc should be using
toolchains::DarwinClang.
llvm-svn: 195585
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 193006
|
| |
|
|
|
|
|
|
|
|
| |
This adds support for outputing the assembly to a file during compilation.
It does this by changing the compilation pipeling to not use the integrated
assembler, and keep the intermediate assembler file.
Differential Revision: http://llvm-reviews.chandlerc.com/D1946
llvm-svn: 192902
|
| |
|
|
| |
llvm-svn: 192437
|
| |
|
|
| |
llvm-svn: 191380
|
| |
|
|
|
|
|
|
|
| |
This doesn't change a lot since clang still thinks it knows all of the
-f*, -m* and -W* options for example.
Other than the options clang explicitly claims to know, this fixes pr9701.
llvm-svn: 191249
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the code to Job.cpp, which seems like a more natural fit,
and replaces the "is this a JobList? is this a Command?" logic with
a virtual function call.
It also removes the code duplication between PrintJob and
PrintDiagnosticJob and simplifies the code a little.
There's no functionality change here, except that the Executable is
now always printed within quotes, whereas it would previously not be
quoted in crash reports, which I think was a bug.
Differential Revision: http://llvm-reviews.chandlerc.com/D1653
llvm-svn: 190620
|
| |
|
|
|
|
|
| |
This also bakes the /M options into a separate option group to make
them easier to refer to from the code.
llvm-svn: 190529
|
| |
|
|
|
|
|
|
| |
This adds driver support for building DLLs (the /LD and /LDd flags).
It basically does two things: runtime selection and passing -dll and
-implib to the linker.
llvm-svn: 190428
|
| |
|
|
|
|
|
|
| |
We already use .obj as extension when the user provides a stem file
name (via /Fo), but were failing in the most basic case when the file
name is based on the input file.
llvm-svn: 190071
|
| |
|
|
|
|
|
| |
Convert the last few tests using -ccc-print-options to -### and remove
-ccc-print-options.
llvm-svn: 189802
|
| |
|
|
| |
llvm-svn: 189193
|
| |
|
|
|
|
| |
We now saturate at -O3.
llvm-svn: 189149
|
| |
|
|
|
|
|
|
|
|
| |
One step toward differentiating following two commands:
clang -O3 -flto a.c -c, and
clang -O3 -emit-llvm a.c
Thanks many awesome folks for clarifying things.
llvm-svn: 189148
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change turns SanitizerArgs into high-level options
stored in the Driver, which are parsed lazily. This fixes an issue of multiple copies of the same diagnostic message produced by sanitizer arguments parser.
Reviewers: rsmith
Reviewed By: rsmith
CC: chandlerc, eugenis, cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1341
llvm-svn: 188660
|
| |
|
|
| |
llvm-svn: 188353
|
| |
|
|
|
|
|
|
|
|
| |
The rationale for this change is to differentiate following two situations:
1) clang -c -emit-llvm a.c
2) clang -c -flto a.c
Reviewed by Eric Christopher. Thanks a lot!
llvm-svn: 188352
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for the /link option, which forwards
subsequent arguments to the linker.
The test for this will only work when targetting win32.
Since that's the only target where clang-cl makes sense,
use that target by default.
Differential Revision: http://llvm-reviews.chandlerc.com/D1388
llvm-svn: 188331
|
| |
|
|
|
|
|
|
|
|
| |
Anything that comes after -- is treated as an input file. This
used to be handled automagically by the option parsing library,
but after LLVM r188314, we should handle it ourselves.
No functionality change.
llvm-svn: 188316
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1370
llvm-svn: 188226
|
| |
|
|
|
|
|
|
| |
This is used to name the linked output file.
Differential Revision: http://llvm-reviews.chandlerc.com/D1344
llvm-svn: 188210
|
| |
|
|
| |
llvm-svn: 188190
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1302
llvm-svn: 187840
|
| |
|
|
|
|
|
|
|
| |
This implements support for the /Fo option, which is used
to set the filename or output dir for object files.
Differential Revision: http://llvm-reviews.chandlerc.com/D1302
llvm-svn: 187820
|
| |
|
|
|
|
|
|
|
| |
These are used to specify source files, and whether to treat source
files as C or C++.
Differential Revision: http://llvm-reviews.chandlerc.com/D1290
llvm-svn: 187760
|
| |
|
|
|
|
|
|
|
|
| |
This adds a few more clang-cl options. It also exposes two core clang
options to the clang-cl mode: we need to be able to claim --driver_mode
so it doesn't show up as unused in cl mode, and we need -### for tests.
Differential Revision: http://llvm-reviews.chandlerc.com/D1232
llvm-svn: 187527
|
| |
|
|
|
|
|
|
|
|
|
|
| |
on the system, and report it when running the driver in verbose mode.
Without this it is essentially impossible to understand why a particular
GCC toolchain is used by Clang for libstdc++, libgcc, etc.
This also required threading a hook through the toolchain layers for
a specific toolchain implementation to print custom information under
'clang -v'. The naming here isn't spectacular. Suggestions welcome.
llvm-svn: 187427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This establishes a new Flag in Options.td, which can be assigned to
options that should be made available in clang's cl.exe compatible
mode, and updates the Driver to make use of the flag.
(The whitespace change to CMakeLists forces the build to re-run CMake
and pick up the include dependency on the new .td file. This makes the
build work if someone moves backwards in commit history after this change.)
Differential Revision: http://llvm-reviews.chandlerc.com/D1215
llvm-svn: 187280
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch provides basic support for powerpc64le as an LLVM target.
However, use of this target will not actually generate little-endian
code. Instead, use of the target will cause the correct little-endian
built-in defines to be generated, so that code that tests for
__LITTLE_ENDIAN__, for example, will be correctly parsed for
syntax-only testing. Code generation will otherwise be the same as
powerpc64 (big-endian), for now.
The patch leaves open the possibility of creating a little-endian
PowerPC64 back end, but there is no immediate intent to create such a
thing.
The new test case variant ensures that correct built-in defines for
little-endian code are generated.
llvm-svn: 187180
|
| |
|
|
| |
llvm-svn: 186970
|
| |
|
|
|
|
|
| |
The mode doesn't actually do anything yet, but this provides a
way to get into it.
llvm-svn: 186720
|
| |
|
|
| |
llvm-svn: 186617
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and add a new option --driver-mode= to control it explicitly.
The CCCIsCXX and CCCIsCPP flags were non-overlapping, i.e. there
are currently really three modes that Clang can run in: gcc, g++
or cpp, so it makes sense to represent them as an enum.
Having a command line flag to control it helps testing.
llvm-svn: 186605
|
| |
|
|
| |
llvm-svn: 186487
|
| |
|
|
| |
llvm-svn: 186448
|
| |
|
|
| |
llvm-svn: 185717
|
| |
|
|
|
|
| |
avoid specifying the vector size unnecessarily.
llvm-svn: 185610
|
| |
|
|
|
|
|
|
| |
Original message:
Use the new PathV2 instead of implementing the logic in clang.
llvm-svn: 184825
|
| |
|
|
|
|
| |
This reverts commit 184803 while I debug the failures on the bots.
llvm-svn: 184818
|
| |
|
|
| |
llvm-svn: 184807
|
| |
|
|
| |
llvm-svn: 184803
|
| |
|
|
| |
llvm-svn: 184774
|
| |
|
|
| |
llvm-svn: 184770
|
| |
|
|
| |
llvm-svn: 184297
|
| |
|
|
| |
llvm-svn: 184090
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The big changes are:
- Deleting Driver/(Arg|Opt)*
- Rewriting includes to llvm/Option/ and re-sorting
- 'using namespace llvm::opt' in clang::driver
- Fixing the autoconf build by adding option everywhere
As discussed in the review, this change includes using directives in
header files. I'll make follow up changes to remove those in favor of
name specifiers.
Reviewers: espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D975
llvm-svn: 183989
|
| |
|
|
| |
llvm-svn: 183861
|