Make -fobjc-nonfragile-abi and -fgnu-runtime imply -fblocks (unless -fno-blocks is specified), because this combination of flags defines an Objective-C runtime that includes a blocks runtime.

llvm-svn: 126654
This commit is contained in:
David Chisnall 2011-02-28 17:11:43 +00:00
parent cce5c97ac3
commit da20991a1b
1 changed files with 4 additions and 1 deletions

View File

@ -1459,7 +1459,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
// -fblocks=0 is default. // -fblocks=0 is default.
if (Args.hasFlag(options::OPT_fblocks, options::OPT_fno_blocks, 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"); CmdArgs.push_back("-fblocks");
} }