summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2012-09-12 13:51:14 +0000
committerJoerg Sonnenberger <joerg@bec.de>2012-09-12 13:51:14 +0000
commit85e2bbc3f8c751584871537e72caffc2bffb9613 (patch)
tree0eb6f922765693078a968b2f73e00a04bfefb94e /clang/lib/Driver/Tools.cpp
parent26d7a06da33d5c1d162b579745fbf6bdba7b6af2 (diff)
downloadbcm5719-llvm-85e2bbc3f8c751584871537e72caffc2bffb9613.tar.gz
bcm5719-llvm-85e2bbc3f8c751584871537e72caffc2bffb9613.zip
Claim --param ssp-buffer-size, even if the stack protector is not
active. llvm-svn: 163705
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 25dd0824bce..c0ce50437ff 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2346,17 +2346,19 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
if (StackProtectorLevel) {
CmdArgs.push_back("-stack-protector");
CmdArgs.push_back(Args.MakeArgString(Twine(StackProtectorLevel)));
+ }
- // --param ssp-buffer-size=
- for (arg_iterator it = Args.filtered_begin(options::OPT__param),
- ie = Args.filtered_end(); it != ie; ++it) {
- StringRef Str((*it)->getValue(Args));
- if (Str.startswith("ssp-buffer-size=")) {
+ // --param ssp-buffer-size=
+ for (arg_iterator it = Args.filtered_begin(options::OPT__param),
+ ie = Args.filtered_end(); it != ie; ++it) {
+ StringRef Str((*it)->getValue(Args));
+ if (Str.startswith("ssp-buffer-size=")) {
+ if (StackProtectorLevel) {
CmdArgs.push_back("-stack-protector-buffer-size");
// FIXME: Verify the argument is a valid integer.
CmdArgs.push_back(Args.MakeArgString(Str.drop_front(16)));
- (*it)->claim();
}
+ (*it)->claim();
}
}
OpenPOWER on IntegriCloud