Lines Matching refs:args

102   void createFiles(opt::InputArgList &args);
117 static bool hasZOption(opt::InputArgList &args, StringRef key) {
119 for (const auto *arg : args.filtered(OPT_z))
128 bool link(ArrayRef<const char *> args, llvm::raw_ostream &stdoutOS,
135 context->e.logName = args::getFilenameWithoutExe(args[0]);
143 LinkerDriver(ctx).linkerMain(args);
190 static void handleColorDiagnostics(opt::InputArgList &args) {
191 auto *arg = args.getLastArg(OPT_color_diagnostics, OPT_color_diagnostics_eq,
211 static cl::TokenizerCallback getQuotingStyle(opt::InputArgList &args) {
212 if (auto *arg = args.getLastArg(OPT_rsp_quoting)) {
244 opt::InputArgList args = this->ParseArgs(vec, missingIndex, missingCount);
248 cl::ExpandResponseFiles(saver(), getQuotingStyle(args), vec);
249 args = this->ParseArgs(vec, missingIndex, missingCount);
251 handleColorDiagnostics(args);
253 error(Twine(args.getArgString(missingIndex)) + ": missing argument");
255 for (auto *arg : args.filtered(OPT_UNKNOWN))
256 error("unknown argument: " + arg->getAsString(args));
257 return args;
269 for (StringRef sym : args::getLines(*buf))
400 void LinkerDriver::createFiles(opt::InputArgList &args) {
401 for (auto *arg : args) {
443 static std::pair<StringRef, StringRef> getOldNewOptions(opt::InputArgList &args,
445 auto *arg = args.getLastArg(id);
458 getOldNewOptionsExtra(opt::InputArgList &args, unsigned id) {
459 auto [oldDir, second] = getOldNewOptions(args, id);
464 static StringRef getEntry(opt::InputArgList &args) {
465 auto *arg = args.getLastArg(OPT_entry, OPT_no_entry);
467 if (args.hasArg(OPT_relocatable))
469 if (args.hasArg(OPT_shared))
480 static UnresolvedPolicy getUnresolvedSymbolPolicy(opt::InputArgList &args) {
481 UnresolvedPolicy errorOrWarn = args.hasFlag(OPT_error_unresolved_symbols,
486 if (auto *arg = args.getLastArg(OPT_unresolved_symbols)) {
504 getBuildId(opt::InputArgList &args) {
505 auto *arg = args.getLastArg(OPT_build_id, OPT_build_id_eq);
528 static void readConfigs(opt::InputArgList &args) {
530 hasZOption(args, "muldefs") ||
531 args.hasFlag(OPT_allow_multiple_definition,
533 ctx.arg.bsymbolic = args.hasArg(OPT_Bsymbolic);
535 args.hasFlag(OPT_check_features, OPT_no_check_features, true);
536 ctx.arg.compressRelocations = args.hasArg(OPT_compress_relocations);
537 ctx.arg.demangle = args.hasFlag(OPT_demangle, OPT_no_demangle, true);
538 ctx.arg.disableVerify = args.hasArg(OPT_disable_verify);
539 ctx.arg.emitRelocs = args.hasArg(OPT_emit_relocs);
540 ctx.arg.experimentalPic = args.hasArg(OPT_experimental_pic);
541 ctx.arg.entry = getEntry(args);
542 ctx.arg.exportAll = args.hasArg(OPT_export_all);
543 ctx.arg.exportTable = args.hasArg(OPT_export_table);
544 ctx.arg.growableTable = args.hasArg(OPT_growable_table);
545 ctx.arg.noinhibitExec = args.hasArg(OPT_noinhibit_exec);
547 if (args.hasArg(OPT_import_memory_with_name)) {
549 args.getLastArgValue(OPT_import_memory_with_name).split(",");
550 } else if (args.hasArg(OPT_import_memory)) {
558 if (args.hasArg(OPT_export_memory_with_name)) {
559 ctx.arg.memoryExport = args.getLastArgValue(OPT_export_memory_with_name);
560 } else if (args.hasArg(OPT_export_memory)) {
566 ctx.arg.sharedMemory = args.hasArg(OPT_shared_memory);
567 ctx.arg.soName = args.getLastArgValue(OPT_soname);
568 ctx.arg.importTable = args.hasArg(OPT_import_table);
569 ctx.arg.importUndefined = args.hasArg(OPT_import_undefined);
570 ctx.arg.ltoo = args::getInteger(args, OPT_lto_O, 2);
574 args::getInteger(args, OPT_lto_CGO, args::getCGOptLevel(ctx.arg.ltoo));
579 ctx.arg.ltoPartitions = args::getInteger(args, OPT_lto_partitions, 1);
580 ctx.arg.ltoObjPath = args.getLastArgValue(OPT_lto_obj_path_eq);
581 ctx.arg.ltoDebugPassManager = args.hasArg(OPT_lto_debug_pass_manager);
582 ctx.arg.mapFile = args.getLastArgValue(OPT_Map);
583 ctx.arg.optimize = args::getInteger(args, OPT_O, 1);
584 ctx.arg.outputFile = args.getLastArgValue(OPT_o);
585 ctx.arg.relocatable = args.hasArg(OPT_relocatable);
587 args.hasFlag(OPT_gc_sections, OPT_no_gc_sections, !ctx.arg.relocatable);
588 for (auto *arg : args.filtered(OPT_keep_section))
591 args.hasFlag(OPT_merge_data_segments, OPT_no_merge_data_segments,
593 ctx.arg.pie = args.hasFlag(OPT_pie, OPT_no_pie, false);
595 args.hasFlag(OPT_print_gc_sections, OPT_no_print_gc_sections, false);
596 ctx.arg.saveTemps = args.hasArg(OPT_save_temps);
597 ctx.arg.searchPaths = args::getStrings(args, OPT_library_path);
598 ctx.arg.shared = args.hasArg(OPT_shared);
599 ctx.arg.shlibSigCheck = !args.hasArg(OPT_no_shlib_sigcheck);
600 ctx.arg.stripAll = args.hasArg(OPT_strip_all);
601 ctx.arg.stripDebug = args.hasArg(OPT_strip_debug);
602 ctx.arg.stackFirst = args.hasArg(OPT_stack_first);
603 ctx.arg.trace = args.hasArg(OPT_trace);
604 ctx.arg.thinLTOCacheDir = args.getLastArgValue(OPT_thinlto_cache_dir);
606 parseCachePruningPolicy(args.getLastArgValue(OPT_thinlto_cache_policy)),
608 ctx.arg.thinLTOEmitImportsFiles = args.hasArg(OPT_thinlto_emit_imports_files);
609 ctx.arg.thinLTOEmitIndexFiles = args.hasArg(OPT_thinlto_emit_index_files) ||
610 args.hasArg(OPT_thinlto_index_only) ||
611 args.hasArg(OPT_thinlto_index_only_eq);
612 ctx.arg.thinLTOIndexOnly = args.hasArg(OPT_thinlto_index_only) ||
613 args.hasArg(OPT_thinlto_index_only_eq);
614 ctx.arg.thinLTOIndexOnlyArg = args.getLastArgValue(OPT_thinlto_index_only_eq);
616 getOldNewOptions(args, OPT_thinlto_object_suffix_replace_eq);
619 getOldNewOptionsExtra(args, OPT_thinlto_prefix_replace_eq);
621 if (args.hasArg(OPT_thinlto_object_suffix_replace_eq))
624 else if (args.hasArg(OPT_thinlto_prefix_replace_eq))
633 ctx.arg.unresolvedSymbols = getUnresolvedSymbolPolicy(args);
634 ctx.arg.whyExtract = args.getLastArgValue(OPT_why_extract);
635 errorHandler().verbose = args.hasArg(OPT_verbose);
638 ctx.arg.tableBase = args::getInteger(args, OPT_table_base, 0);
639 ctx.arg.globalBase = args::getInteger(args, OPT_global_base, 0);
640 ctx.arg.initialHeap = args::getInteger(args, OPT_initial_heap, 0);
641 ctx.arg.initialMemory = args::getInteger(args, OPT_initial_memory, 0);
642 ctx.arg.maxMemory = args::getInteger(args, OPT_max_memory, 0);
643 ctx.arg.noGrowableMemory = args.hasArg(OPT_no_growable_memory);
645 args::getZOptionValue(args, OPT_z, "stack-size", WasmPageSize);
658 args.hasFlag(OPT_export_dynamic, OPT_no_export_dynamic, ctx.arg.shared);
661 if (auto *arg = args.getLastArg(OPT_m)) {
673 if (auto *arg = args.getLastArg(OPT_threads)) {
682 if (auto *arg = args.getLastArg(OPT_thinlto_jobs))
685 if (auto *arg = args.getLastArg(OPT_features)) {
692 if (auto *arg = args.getLastArg(OPT_extra_features)) {
701 if (args.hasArg(OPT_allow_undefined)) {
706 if (args.hasArg(OPT_print_map))
709 std::tie(ctx.arg.buildId, ctx.arg.buildIdVector) = getBuildId(args);
764 static void checkOptions(opt::InputArgList &args) {
790 if (args.hasArg(OPT_undefined))
834 static const char *getReproduceOption(opt::InputArgList &args) {
835 if (auto *arg = args.getLastArg(OPT_reproduce))
1130 static std::string createResponseFile(const opt::InputArgList &args) {
1135 for (auto *arg : args) {
1181 static std::vector<WrappedSymbol> addWrappedSymbols(opt::InputArgList &args) {
1185 for (auto *arg : args.filtered(OPT_wrap)) {
1258 static void checkZOptions(opt::InputArgList &args) {
1259 for (auto *arg : args.filtered(OPT_z))
1268 opt::InputArgList args = parser.parse(argsArr.slice(1));
1272 errHandler.errorLimit = args::getInteger(args, OPT_error_limit, 20);
1274 args.hasFlag(OPT_fatal_warnings, OPT_no_fatal_warnings, false);
1275 checkZOptions(args);
1278 if (args.hasArg(OPT_help)) {
1286 if (args.hasArg(OPT_v) || args.hasArg(OPT_version))
1290 if (const char *path = getReproduceOption(args)) {
1295 tar->append("response.txt", createResponseFile(args));
1305 for (auto *arg : args.filtered(OPT_mllvm))
1310 readConfigs(args);
1315 if (args.hasArg(OPT_v) && !args.hasArg(OPT_INPUT))
1317 if (args.hasArg(OPT_version))
1320 createFiles(args);
1324 checkOptions(args);
1328 if (auto *arg = args.getLastArg(OPT_allow_undefined_file))
1342 for (auto *arg : args.filtered(OPT_trace_symbol))
1345 for (auto *arg : args.filtered(OPT_export_if_defined))
1348 for (auto *arg : args.filtered(OPT_export)) {
1363 for (auto *arg : args.filtered(OPT_undefined))
1409 std::vector<WrappedSymbol> wrapped = addWrappedSymbols(args);