Lines Matching refs:arg

145 static const char *match_option(const char *arg, const char *prefix)
148 if (strncmp(arg, prefix, n) == 0)
149 return arg + n;
159 static int handle_subopt_val(const char *opt, const char *arg, const struct val_map *map, int *flag)
163 if (*arg++ != '=')
166 if (strcmp(name, arg) == 0 || strcmp(name, "*") == 0) {
171 die("invalid argument '%s' in option '%s'", arg, opt);
198 static int handle_suboption_mask(const char *arg, const char *opt, const struct mask_map *map, unsigned long *flag)
217 die("error: wrong option '%.*s' for \'%s\'", len, opt, arg);
233 int (*fun)(const char *arg, const char *opt, const struct flag *, int options);
240 const char *arg = opt;
244 if (strncmp(arg, "no-", 3) == 0) {
245 arg += 3;
250 const char *opt = match_option(arg, flags->name);
279 static char **handle_onoff_switch(char *arg, char **next, const struct flag flags[])
282 char *p = arg + 1;
314 static int handle_switch_setval(const char *arg, const char *opt, const struct flag *flag, int options)
325 static int opt_##NAME(const char *arg, const char *opt, TYPE *ptr, int flag) \
335 die("error: wrong argument to \'%s\'", arg); \
349 static char **handle_switch_a(char *arg, char **next)
351 if (!strcmp(arg, "ansi"))
357 static char **handle_switch_D(char *arg, char **next)
359 const char *name = arg + 1;
363 arg = *++next;
364 if (!arg)
366 name = arg;
369 for (;;arg++) {
371 c = *arg;
375 *arg = '\0';
376 value = arg + 1;
384 static char **handle_switch_d(char *arg, char **next)
386 char *arg_char = arg + 1;
415 static char **handle_switch_E(char *arg, char **next)
417 if (arg[1] == '\0')
422 static int handle_ftabstop(const char *arg, const char *opt, const struct flag *flag, int options)
428 die("error: missing argument to \"%s\"", arg);
438 static int handle_fpasses(const char *arg, const char *opt, const struct flag *flag, int options)
469 static int handle_fdiagnostic_prefix(const char *arg, const char *opt, const struct flag *flag, int options)
483 static int handle_fdump_ir(const char *arg, const char *opt, const struct flag *flag, int options)
493 return handle_suboption_mask(arg, opt, dump_ir_options, &fdump_ir);
496 static int handle_fmemcpy_max_count(const char *arg, const char *opt, const struct flag *flag, int options)
498 opt_ullong(arg, opt, &fmemcpy_max_count, OPTNUM_ZERO_IS_INF|OPTNUM_UNLIMITED);
502 static int handle_fmax_errors(const char *arg, const char *opt, const struct flag *flag, int options)
504 opt_uint(arg, opt, &fmax_errors, OPTNUM_UNLIMITED);
508 static int handle_fmax_warnings(const char *arg, const char *opt, const struct flag *flag, int options)
510 opt_uint(arg, opt, &fmax_warnings, OPTNUM_UNLIMITED);
539 static char **handle_switch_f(char *arg, char **next)
541 if (handle_switches(arg-1, arg+1, fflags))
547 static char **handle_switch_G(char *arg, char **next)
549 if (!strcmp(arg, "G") && *next)
555 static char **handle_base_dir(char *arg, char **next)
563 static char **handle_switch_g(char *arg, char **next)
565 if (!strcmp(arg, "gcc-base-dir"))
566 return handle_base_dir(arg, next);
571 static char **handle_switch_I(char *arg, char **next)
573 char *path = arg+1;
575 switch (arg[1]) {
598 static char **handle_switch_i(char *arg, char **next)
600 if (*next && !strcmp(arg, "include"))
602 else if (*next && !strcmp(arg, "imacros"))
604 else if (*next && !strcmp(arg, "isystem")) {
609 } else if (*next && !strcmp(arg, "idirafter")) {
618 static char **handle_switch_M(char *arg, char **next)
620 if (!strcmp(arg, "MF") || !strcmp(arg,"MQ") || !strcmp(arg,"MT")) {
622 die("missing argument for -%s option", arg);
628 static int handle_march(const char *opt, const char *arg, const struct flag *flag, int options)
631 arch_target->parse_march(arg);
635 static int handle_mcmodel(const char *opt, const char *arg, const struct flag *flag, int options)
647 return handle_subopt_val(opt, arg, cmodels, flag->flag);
650 static int handle_mfloat_abi(const char *opt, const char *arg, const struct flag *flag, int options) {
657 return handle_subopt_val(opt, arg, fp_abis, flag->flag);
660 static char **handle_multiarch_dir(char *arg, char **next)
686 static char **handle_switch_m(char *arg, char **next)
688 if (!strcmp(arg, "multiarch-dir")) {
689 return handle_multiarch_dir(arg, next);
691 handle_switches(arg-1, arg+1, mflags);
697 static char **handle_nostdinc(char *arg, char **next)
703 static char **handle_switch_n(char *arg, char **next)
705 if (!strcmp(arg, "nostdinc"))
706 return handle_nostdinc(arg, next);
711 static char **handle_switch_O(char *arg, char **next)
714 if (arg[1] >= '0' && arg[1] <= '9')
715 level = arg[1] - '0';
717 optimize_size = arg[1] == 's';
721 static char **handle_switch_o(char *arg, char **next)
723 if (!strcmp(arg, "o")) { // "-o foo"
738 static char **handle_switch_p(char *arg, char **next)
740 handle_switches(arg-1, arg, pflags);
744 static char **handle_switch_s(const char *arg, char **next)
746 if ((arg = match_option(arg, "std="))) {
747 if (!strcmp(arg, "c89") ||
748 !strcmp(arg, "iso9899:1990"))
751 else if (!strcmp(arg, "iso9899:199409"))
754 else if (!strcmp(arg, "c99") ||
755 !strcmp(arg, "c9x") ||
756 !strcmp(arg, "iso9899:1999") ||
757 !strcmp(arg, "iso9899:199x"))
760 else if (!strcmp(arg, "gnu89"))
763 else if (!strcmp(arg, "gnu99") || !strcmp(arg, "gnu9x"))
766 else if (!strcmp(arg, "c11") ||
767 !strcmp(arg, "c1x") ||
768 !strcmp(arg, "iso9899:2011"))
771 else if (!strcmp(arg, "gnu11"))
774 else if (!strcmp(arg, "c17") ||
775 !strcmp(arg, "c18") ||
776 !strcmp(arg, "iso9899:2017") ||
777 !strcmp(arg, "iso9899:2018"))
779 else if (!strcmp(arg, "gnu17") ||
780 !strcmp(arg, "gnu18"))
790 static char **handle_switch_U(char *arg, char **next)
792 const char *name = arg + 1;
813 static char **handle_switch_v(char *arg, char **next)
815 char ** ret = handle_onoff_switch(arg, next, debugs);
822 } while (*++arg == 'v');
889 static char **handle_switch_W(char *arg, char **next)
891 char ** ret = handle_onoff_switch(arg, next, warnings);
895 if (!strcmp(arg, "Wsparse-all")) {
925 static char **handle_switch_x(char *arg, char **next)
933 static char **handle_arch(char *arg, char **next)
937 if (*arg++ != '=')
940 mach = target_parse(arg);
947 static char **handle_param(char *arg, char **next)
952 if (*arg == '\0') {
954 } else if (isspace((unsigned char)*arg) || *arg == '=') {
955 value = ++arg;
964 static char **handle_os(char *arg, char **next)
966 if (*arg++ != '=')
969 target_os(arg);
974 static char **handle_version(char *arg, char **next)
986 static char **handle_long_options(char *arg, char **next)
999 if (!strncmp(s->name, arg, optlen + !s->prefix))
1000 return s->fn(arg + optlen, next);
1006 char **handle_switch(char *arg, char **next)
1008 switch (*arg) {
1009 case 'a': return handle_switch_a(arg, next);
1010 case 'D': return handle_switch_D(arg, next);
1011 case 'd': return handle_switch_d(arg, next);
1012 case 'E': return handle_switch_E(arg, next);
1013 case 'f': return handle_switch_f(arg, next);
1014 case 'g': return handle_switch_g(arg, next);
1015 case 'G': return handle_switch_G(arg, next);
1016 case 'I': return handle_switch_I(arg, next);
1017 case 'i': return handle_switch_i(arg, next);
1018 case 'M': return handle_switch_M(arg, next);
1019 case 'm': return handle_switch_m(arg, next);
1020 case 'n': return handle_switch_n(arg, next);
1021 case 'o': return handle_switch_o(arg, next);
1022 case 'O': return handle_switch_O(arg, next);
1023 case 'p': return handle_switch_p(arg, next);
1024 case 's': return handle_switch_s(arg, next);
1025 case 'U': return handle_switch_U(arg, next);
1026 case 'v': return handle_switch_v(arg, next);
1027 case 'W': return handle_switch_W(arg, next);
1028 case 'x': return handle_switch_x(arg, next);
1029 case '-': return handle_long_options(arg + 1, next);