================ @@ -1494,8 +1484,35 @@ static bool parseLinkerOptionsArgs(CompilerInvocation &invoc, return false; } - invoc.getCodeGenOpts().DependentLibs = + opts.DependentLibs = args.getAllArgValues(clang::driver::options::OPT_dependent_lib); + + // -flto=full/thin option. + if (const llvm::opt::Arg *a = + args.getLastArg(clang::driver::options::OPT_flto_EQ)) { + llvm::StringRef s = a->getValue(); + assert((s == "full" || s == "thin") && "Unknown LTO mode."); + if (s == "full") + opts.PrepareForFullLTO = true; + else + opts.PrepareForThinLTO = true; + } + + // -ffat-lto-objects + if (const llvm::opt::Arg *arg = + args.getLastArg(clang::driver::options::OPT_ffat_lto_objects, + clang::driver::options::OPT_fno_fat_lto_objects)) { + opts.PrepareForFatLTO = + arg->getOption().matches(clang::driver::options::OPT_ffat_lto_objects); + if (opts.PrepareForFatLTO) { + assert(opts.PrepareForFullLTO || opts.PrepareForThinLTO); + + if (!triple.isOSBinFormatELF()) { + diags.Report(clang::diag::err_drv_unsupported_opt_for_target) + << arg->getAsString(args) << triple.getTriple(); + } ---------------- abidh wrote:
I think we can remove the Braces for this if. https://github.com/llvm/llvm-project/pull/158125 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits