| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
module imports from -fauto-module-import to -fmodules. The new name
will eventually be used to enable modules, and the #include/#import
mapping is a crucial part of the feature.
llvm-svn: 147447
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang driver. This involves a bunch of silly option parsing code to try
to carefully emulate GCC's options. Currently, this takes a conservative
approach, and unless all of the unsafe optimizations are enabled, none
of them are. The fine grained control doesn't seem particularly useful.
If it ever becomes useful, we can add that to LLVM first, and then
expose it here.
This also fixes a few tiny bugs in the flag management around
-fhonor-infinities and -fhonor-nans; the flags now form proper sets both
for enabling and disabling, with the last flag winning.
I've also implemented a moderately terrifying GCC feature where
a language change is also provided by the '-ffast-math' flag by defining
the __FAST_MATH__ preprocessor macro. This feature is tracked and
serialized in the frontend but it isn't used yet. A subsequent patch
will add the preprocessor macro and tests for it.
I've manually tested that codegen appears to respect this, but I've not
dug in enough to see if there is an easy way to test codegen options w/o
relying on the particulars of LLVM's optimizations.
llvm-svn: 147434
|
|
|
|
| |
llvm-svn: 147277
|
|
|
|
| |
llvm-svn: 147224
|
|
|
|
|
|
| |
the clang driver to enable this when assembling a .s file. rdar://9275556
llvm-svn: 147167
|
|
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146959
|
|
|
|
|
|
| |
have this warning.
llvm-svn: 146839
|
|
|
|
|
|
|
|
|
|
| |
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit
argument to driver and frontend, to control the maximum number of notes so
produced (default 10). Fix APValue printing to be able to pretty-print all
APValue types, and move the testing for this functionality from a unittest to
a -verify test now that it's visible in clang's output.
llvm-svn: 146749
|
|
|
|
| |
llvm-svn: 146631
|
|
|
|
| |
llvm-svn: 146595
|
|
|
|
|
|
|
|
| |
matches gcc's behavior.
Fixes PR8186.
llvm-svn: 146586
|
|
|
|
| |
llvm-svn: 146448
|
|
|
|
| |
llvm-svn: 146413
|
|
|
|
|
|
|
|
| |
-ffinite-math-only.
- No test case yet, I don't know how to construct a situation where this
matters.
llvm-svn: 146297
|
|
|
|
|
|
|
|
|
|
|
| |
. move compiler-rt to a separate directory so the -L argument only includes compiler-rt (thanks joerg)
. build all clang subdirs
. switches the Minix platform to ELF
. normalizes toolchain invocation
Patch by Ben Gras.
llvm-svn: 146206
|
|
|
|
| |
llvm-svn: 146122
|
|
|
|
|
|
| |
integration.
llvm-svn: 146098
|
|
|
|
|
|
| |
dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com
llvm-svn: 145955
|
|
|
|
|
|
| |
realignment, even with locals with alignment exceeding the ABI guarantee.
llvm-svn: 145909
|
|
|
|
|
|
| |
backend options are gone.
llvm-svn: 145868
|
|
|
|
| |
llvm-svn: 145823
|
|
|
|
|
|
|
|
|
| |
it to GNU assembler. In addition, change function getMipsArchFromCPU() so that
it can be reused in ConstructJob().
Patch by Simon Atanasyan.
llvm-svn: 145509
|
|
|
|
|
|
| |
command (linux-only)
llvm-svn: 145467
|
|
|
|
| |
llvm-svn: 145453
|
|
|
|
|
|
| |
PR11444/PR11445.
llvm-svn: 145321
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
semantics and defaults as the corresponding g++ arguments. The historical g++
argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions
no longer document that option.
Add -cc1 argument -fconstexpr-depth N to implement the corresponding
functionality.
The -ftemplate-depth=N part of this fixes PR9890.
llvm-svn: 145045
|
|
|
|
|
|
| |
Submitted by Andreas Tobler!
llvm-svn: 145041
|
|
|
|
|
|
|
|
| |
output files that are valid regardless of whether the compilation
succeeded or failed (but not if we crash). Add depfiles to the
failure result file list.
llvm-svn: 145018
|
|
|
|
| |
llvm-svn: 144869
|
|
|
|
| |
llvm-svn: 144800
|
|
|
|
|
|
|
|
|
| |
This is a partial revert of r143846. While cleaning up after a crash is
probably a good idea, we were also deleting .d files if the compilation failed
due to invalid input, which is not the desired behavior. The test is XFAIL'd
until the cleanup code can be reworked to do the right thing.
llvm-svn: 144590
|
|
|
|
|
|
| |
diagnostics to a file.
llvm-svn: 144339
|
|
|
|
| |
llvm-svn: 144108
|
|
|
|
| |
llvm-svn: 144002
|
|
|
|
| |
llvm-svn: 144001
|
|
|
|
| |
llvm-svn: 143962
|
|
|
|
| |
llvm-svn: 143856
|
|
|
|
|
|
| |
and prevent the diagnostic preprocessor run from writing a depfile.
llvm-svn: 143846
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the first (and diff-noisiest) step to making Linux header searching
tremendously more principled and less brittle. Note that this step
should have essentially no functional impact. We still search the exact
same set of paths in the exact same order. The only change here is where
the code implementing such a search lives.
This has one obvious negative impact -- we now pass a ludicrous number
of flags to the CC1 layer. That should go away as I re-base this logic
on the logic to detect a GCC installation. I want to do this in two
phases so the bots can tell me if this step alone breaks something, and
so that the diffs of the refactoring make more sense.
llvm-svn: 143822
|
|
|
|
| |
llvm-svn: 143778
|
|
|
|
|
|
| |
structs. Original behavior can be restored using -fno-limit-debug-info.
llvm-svn: 143733
|
|
|
|
|
|
| |
rdar://10383444
llvm-svn: 143732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handling logic of the generic ToolChain. This flag, despite its name,
has *nothing* to do with the GCC flag '-nostdlib' that relates
(exclusively) to the linking behavior. It is a most unfortunate name in
that regard...
It is used to tell InitHeaderSearch.cpp *which* set of C++ standard
library header search paths to use -- those for libstdc++ from GCC's
installation, or those from a libc++ installation. As this logic is
hoisted out of the Frontend, and into the Driver as part of this
ToolChain, the generic method will be overridden for the platform, where
it can implement this logic directly. As such, hiding the CC1 option
passing in the generic space is a natural fit despite the odd naming.
Also, expand on the comments to clarify whats going on, and tidy up the
Tools.cpp code now that its simpler.
llvm-svn: 143687
|
|
|
|
|
|
|
|
| |
implementation in the driver. This cleans up the signature and semantics
of the include flag adding component of the toolchain. Another step to
ready it for holding all the InitHeaderSearch logic.
llvm-svn: 143686
|
|
|
|
|
|
|
|
| |
the rest of the mess in InitHeaderSearch.cpp. We could hoist it into the
driver profitably, removing more noise from the driver -> frontend
communication.
llvm-svn: 143685
|
|
|
|
|
|
|
|
|
|
|
| |
and the C++ include management routine from the proper place when
forming preprocessor options in the driver. This is the first step to
teaching the driver to manage all of the header search paths. Currently,
these methods remain just stubs in the abstract toolchain. Subsequent
patches will flesh them out with implementations for various toolchains
based on the current code in InitHeaderSearch.cpp.
llvm-svn: 143684
|
|
|
|
|
|
|
|
|
| |
The -g and --gdwarf2 options are currently synonyms to the Darwin assembler.
But clang itself does not recognize --gdwarf2, so if we want to experiment
with using clang, with its integrated assembler, to replace the default
assembler, it is necessary to use -g. <rdar://problem/10349486>
llvm-svn: 143533
|
|
|
|
|
|
| |
<rdar://problem/10374763>
llvm-svn: 143527
|
|
|
|
|
|
|
| |
The integrated assembler seems to be working pretty well for -static code
now, so remove the hacks to disable it.
llvm-svn: 143304
|
|
|
|
|
|
|
|
|
| |
of the compiler.
Fixes PR10198
Patch by Brian Foley!
llvm-svn: 142913
|