Daniel Dunbar
b8c2f7d950
Add an arg_iterator, for iterating over a subset of arguments in an ArgList.
...
llvm-svn: 89860
2009-11-25 11:33:30 +00:00
Daniel Dunbar
8c00957008
Driver: Introduce OptSpecifier class for protecting access to an option id.
...
llvm-svn: 89310
2009-11-19 04:14:53 +00:00
Daniel Dunbar
fffd18167d
Driver: Switch to using explicit {getLast,has}ArgNoClaim functions instead of taking a Claim argument.
...
- Most driver code always claims, and bool arguments don't play nice with the overloads.
llvm-svn: 89308
2009-11-19 04:00:53 +00:00
Daniel Dunbar
5f620c1fac
StringRefize ArgList construction of ArgStrings.
...
llvm-svn: 81385
2009-09-09 22:32:26 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Bill Wendling
d63bbadbef
Add stack protector support to clang. This generates the 'ssp' and 'sspreq'
...
function attributes. There are predefined macros that are defined when stack
protectors are used: __SSP__=1 with -fstack-protector and __SSP_ALL__=2 with
-fstack-protector-all.
llvm-svn: 74405
2009-06-28 07:36:13 +00:00
Daniel Dunbar
3ba94d8778
Add option for AddAllArgsTranslated to control whether output argument
...
should be joined or separate.
llvm-svn: 70101
2009-04-26 01:07:52 +00:00
Daniel Dunbar
30bf11e181
Driver: Add default for ArgList::hasFlag and simplify implementation.
...
llvm-svn: 68549
2009-04-07 21:08:57 +00:00
Daniel Dunbar
c2a7189048
Driver: Explicitly ignore -fpch-preprocess when using clang, we don't
...
need to do anything special to support this.
llvm-svn: 68403
2009-04-03 20:51:31 +00:00
Daniel Dunbar
13357aef14
Driver: Unbreak ArgList::hasFlag.
...
- <rdar://problem/6726511> [driver] clang does not have -msoft-float
hooked up.
llvm-svn: 68044
2009-03-30 18:13:26 +00:00
Daniel Dunbar
53b406f40a
Driver: Track which original arguments an arg is derived from, so that
...
we can properly claim arguments, even if they have been translated by
the tool chain.
llvm-svn: 68020
2009-03-29 22:29:05 +00:00
Daniel Dunbar
4e5696b984
Driver: Add ArgList::AddAllArgsTranslated; for forwarding options to
...
tools with the name of the option replace, and arguments rendered
separately.
llvm-svn: 67753
2009-03-26 15:39:22 +00:00
Daniel Dunbar
dac54a81df
Driver: Prep for tool chain specific argument translation.
...
- 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
2009-03-25 04:13:45 +00:00
Daniel Dunbar
9ea0e77572
Driver: ArgList::getLastArg was in fact returning the first matching arg.
...
- <rdar://problem/6715818> clang doesn't honor gcc semantic that last
-O optimization option wins.
llvm-svn: 67628
2009-03-24 17:31:30 +00:00
Daniel Dunbar
d8500f3b0f
Driver: Implement 'missing argument' error.
...
llvm-svn: 67490
2009-03-22 23:26:43 +00:00
Daniel Dunbar
e81cc832f6
Driver: Add two option overload for AddAllArgValues.
...
llvm-svn: 67377
2009-03-20 15:59:01 +00:00
Daniel Dunbar
7591f29f7c
Driver: Add argument translation utilities to ArgList.
...
- Support things like telling which -ffoo -fno-foo option won, and
forwarding all arguments matching a certain set of options to the
tool.
llvm-svn: 67189
2009-03-18 09:29:36 +00:00
Daniel Dunbar
62ca7d23ce
Driver: Fix typo ArgList destructor.
...
llvm-svn: 67101
2009-03-17 20:44:29 +00:00
Daniel Dunbar
c1b70b2039
Driver: Add two option form of ArgList::getLastArg.
...
llvm-svn: 67090
2009-03-17 18:51:42 +00:00
Daniel Dunbar
527e2b3f8c
Add ArgList::MakeArgString and make ArgList::Make* const.
...
- Slightly strange, but the idea is that the ArgList data structure
is primarily a list of arguments; we want to allow clients to still
add argument strings to an ArgList to avoid worrying about string
lifetimes (or unnecessary string copying).
llvm-svn: 67086
2009-03-17 17:51:18 +00:00
Daniel Dunbar
ae0e55eb7f
Driver: Update ArgList::{hasArg,getLastArg} to optionally claim the
...
arguments if they exist.
llvm-svn: 67014
2009-03-15 00:48:16 +00:00
Daniel Dunbar
dfab7abdea
Driver: Fix think in ArgList::MakeIndex.
...
llvm-svn: 66908
2009-03-13 17:25:24 +00:00
Daniel Dunbar
7c8d653a2c
Driver: Add ArgList support for synthesizing arguments.
...
llvm-svn: 66805
2009-03-12 18:20:18 +00:00
Daniel Dunbar
7586bb9de8
Driver: Add ArgList::getLastArg.
...
llvm-svn: 66794
2009-03-12 16:03:38 +00:00
Daniel Dunbar
33699689ed
Driver: Fix thinko in Arg::hasArg.
...
llvm-svn: 66785
2009-03-12 08:45:11 +00:00
Daniel Dunbar
2c3939cb5d
Driver: Add ArgList::hasArg, for testing for the presence of an
...
argument matching some Option::ID.
llvm-svn: 66758
2009-03-12 01:36:44 +00:00
Daniel Dunbar
16b9fd447a
Driver: Add ArgList::{append, getArgString}
...
llvm-svn: 66089
2009-03-04 22:40:08 +00:00
Daniel Dunbar
3e2cbc3161
Driver: Add ArgList implementation.
...
llvm-svn: 66037
2009-03-04 17:10:42 +00:00