]> granicus.if.org Git - clang/commitdiff
Make -fobjc-nonfragile-abi and -fgnu-runtime imply -fblocks (unless -fno-blocks is...
authorDavid Chisnall <csdavec@swan.ac.uk>
Mon, 28 Feb 2011 17:11:43 +0000 (17:11 +0000)
committerDavid Chisnall <csdavec@swan.ac.uk>
Mon, 28 Feb 2011 17:11:43 +0000 (17:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126654 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index 6f373658eb55c627ee1ef7588bd1dd903b5c8804..830cd56acbe3a7a3cffb1e28449ad6f294f3fc65 100644 (file)
@@ -1459,7 +1459,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
 
   // -fblocks=0 is default.
   if (Args.hasFlag(options::OPT_fblocks, options::OPT_fno_blocks,
-                   getToolChain().IsBlocksDefault())) {
+                   getToolChain().IsBlocksDefault()) ||
+        (Args.hasArg(options::OPT_fgnu_runtime) &&
+         Args.hasArg(options::OPT_fobjc_nonfragile_abi) &&
+         !Args.hasArg(options::OPT_fno_blocks))) {
     CmdArgs.push_back("-fblocks");
   }