]> granicus.if.org Git - clang/commitdiff
Claim --param ssp-buffer-size, even if the stack protector is not
authorJoerg Sonnenberger <joerg@bec.de>
Wed, 12 Sep 2012 13:51:14 +0000 (13:51 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Wed, 12 Sep 2012 13:51:14 +0000 (13:51 +0000)
active.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163705 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index 25dd0824bce0c9bf2ab1a91f6e7fd017b127ee6c..c0ce50437ffcb941d73d262a5efbb156f9ff3236 100644 (file)
@@ -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();
     }
   }