| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
turned into -m[no-]pascal-strings by the tool chain.
- This still has issue that derived arguments don't propogate "used"
information correctly so spurious "argument unused" warnings will
still show up.
llvm-svn: 67841
|
| |
|
|
| |
llvm-svn: 67837
|
| |
|
|
| |
llvm-svn: 67806
|
| |
|
|
| |
llvm-svn: 67769
|
| |
|
|
|
|
|
| |
- <rdar://problem/6717381> [driver] implement ld argument translation
in new driver
llvm-svn: 67760
|
| |
|
|
|
|
|
|
| |
separate, or vice versa).
Also, fix initialization of LinkingOutput variable.
llvm-svn: 67757
|
| |
|
|
| |
llvm-svn: 67756
|
| |
|
|
| |
llvm-svn: 67754
|
| |
|
|
|
|
|
| |
tools with the name of the option replace, and arguments rendered
separately.
llvm-svn: 67753
|
| |
|
|
| |
llvm-svn: 67741
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This is really gross, but its the easiest way to match gcc. Once we
are confident in the driver, we can try and push these translations
down into tools.
- No test cases for this yet, it's hard to see the effects of these
translations before the gcc tool argument translation is pulled
over.
- Interaction with "unused argument" warning hasn't been worked out
yet.
- <rdar://problem/6717359> [driver] implement toolchain specific
argument translation.
"It's horrible in here."
llvm-svn: 67683
|
| |
|
|
|
|
|
| |
we aren't going to support. For example:
clang -Xarch_i386 -S -Xarch_i386 -o -Xarch_i386 myi386asm.s ...
llvm-svn: 67680
|
| |
|
|
|
|
| |
matches the flag in Options.def).
llvm-svn: 67679
|
| |
|
|
| |
llvm-svn: 67677
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Lift ArgList to a base class for InputArgList and DerivedArgList.
- This is not a great decomposition, but it does embed the
translation into the type system, and keep things efficient for
tool chains that don't want to do any translation.
- No intended functionality change.
Eventually I hope to get rid of tool chain specific translation and
have each tool do the right thing, but for now this is the easiest way
to match gcc precisely (which is good for testing).
llvm-svn: 67676
|
| |
|
|
| |
llvm-svn: 67673
|
| |
|
|
|
|
| |
static analysis.
llvm-svn: 67665
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- -emit-llvm no longer changes what compilation steps are done.
- -emit-llvm and -emit-llvm -S write output files with .o and .s
suffixes, respectively.
- <rdar://problem/6714125> clang-driver should support -O4 and -flto,
like llvm-gcc
llvm-svn: 67645
|
| |
|
|
|
|
| |
conceivably handle, but are defaulting to not using clang for.
llvm-svn: 67641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't default to using clang for C++ (use -ccc-clang-cxx to
override).
- Default to only using clang on i386 and x86_64 (use
-ccc-clang-archs "" to override).
- <rdar://problem/6712350> [driver] clang should not be used on
powerpc by default
- <rdar://problem/6705767> driver should default to -ccc-no-clang-cxx
I plan to add a warning that we are not using the clang compiler for
the given compilation so that users do not think clang is being used
in situations it isn't.
This change is motivated by the desire to be able to drop clang into a
build and have things "just work", even if it happens to get used to
compile C++ code or code for an architecture we don't support yet.
llvm-svn: 67640
|
| |
|
|
|
|
|
| |
Driver::ShouldUseClangCompiler.
- No functionality change.
llvm-svn: 67639
|
| |
|
|
|
|
|
| |
- <rdar://problem/6715707> driver should translate -fverbose-asm into
-asm-verbose
llvm-svn: 67634
|
| |
|
|
| |
llvm-svn: 67633
|
| |
|
|
|
|
|
|
| |
is specified.
- No easy way to make a safe test case for this (given where the
driver is supposed to put temp files).
llvm-svn: 67632
|
| |
|
|
|
|
|
| |
- <rdar://problem/6715818> clang doesn't honor gcc semantic that last
-O optimization option wins.
llvm-svn: 67628
|
| |
|
|
|
|
| |
translation, the former we support, the later we don't (yet).
llvm-svn: 67611
|
| |
|
|
|
|
| |
- Updated ccc & driver to look in libexec/ for tools.
llvm-svn: 67607
|
| |
|
|
|
|
| |
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
|
| |
|
|
|
|
| |
ccc due to the different way we handle output arguments).
llvm-svn: 67583
|
| |
|
|
|
|
|
|
|
|
|
| |
On a synthetic command line consisting of almost all defined options,
this drops wall time from .00494 to .00336 and user time from .00258
to .00105.
On the same benchmark, clang-driver is about 15% faster than the
primary gcc driver and almost twice as fast as the gcc driver driver.
llvm-svn: 67564
|
| |
|
|
| |
llvm-svn: 67552
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang doesn't support, and don't want to warn are unused. Eventually
these should disappear.
Here is a more readable list than is in the diff:
W options: -Wall, -Wcast-align, -Wchar-align, -Wchar-subscripts,
-Werror, -Wextra, -Winline, -Wint-to-pointer-cast, -Wmissing-braces,
-Wmost, -Wnested-externs, -Wno-format-y2k, -Wno-four-char-constants,
-Wno-missing-field-initializers, -Wno-trigraphs, -Wno-unknown-pragmas,
-Wno-unused-parameter, -Wparentheses, -Wpointer-arith,
-Wpointer-to-int-cast, -Wreturn-type, -Wshorten-64-to-32, -Wswitch,
-Wunused-function, -Wunused-label, -Wunused-value, -Wunused-variable,
-Wwrite-strings.
f options: -fasm-blocks, -fmessage-length=.
llvm-svn: 67549
|
| |
|
|
|
|
|
|
| |
Release-Asserts mode).
Also, avoid searching through option groups (which will never match).
llvm-svn: 67548
|
| |
|
|
| |
llvm-svn: 67529
|
| |
|
|
|
|
| |
situation should never occur now that arguments are parsed correctly.
llvm-svn: 67493
|
| |
|
|
| |
llvm-svn: 67490
|
| |
|
|
| |
llvm-svn: 67472
|
| |
|
|
|
|
|
| |
code; and don't return an error code when -### is present, even if
errors occur.
llvm-svn: 67425
|
| |
|
|
|
|
|
|
|
|
| |
- <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp
semantics correctly (but clang supports it)
- This is sad, because it requires a fairly useless target
hook. C'est la vie.
llvm-svn: 67418
|
| |
|
|
| |
llvm-svn: 67393
|
| |
|
|
| |
llvm-svn: 67388
|
| |
|
|
|
|
| |
- Based on patch from Pieter de Bie; thanks!
llvm-svn: 67379
|
| |
|
|
| |
llvm-svn: 67377
|
| |
|
|
|
|
|
|
| |
diagnostics.
- This ensures that the whole argument and values are printed,
instead of just the option name.
llvm-svn: 67366
|
| |
|
|
|
|
| |
times.
llvm-svn: 67365
|
| |
|
|
| |
llvm-svn: 67362
|
| |
|
|
| |
llvm-svn: 67356
|
| |
|
|
| |
llvm-svn: 67355
|
| |
|
|
| |
llvm-svn: 67350
|
| |
|
|
|
|
| |
testing) even with -pipe on.
llvm-svn: 67348
|