+ /* All gcc-type long options */
+ if (options_long_gcc("std", &argc, &argv, &argarg)) {
+ if (!strcmp(argarg, "gmqcc") || !strcmp(argarg, "default")) {
+ options_set(opts_flags, ADJUST_VECTOR_FIELDS, true);
+ opts_standard = COMPILER_GMQCC;
+ } else if (!strcmp(argarg, "qcc")) {
+ options_set(opts_flags, ADJUST_VECTOR_FIELDS, false);
+ opts_standard = COMPILER_QCC;
+ } else if (!strcmp(argarg, "fte") || !strcmp(argarg, "fteqcc")) {
+ options_set(opts_flags, FTEPP, true);
+ options_set(opts_flags, ADJUST_VECTOR_FIELDS, false);
+ opts_standard = COMPILER_FTEQCC;
+ } else if (!strcmp(argarg, "qccx")) {
+ options_set(opts_flags, ADJUST_VECTOR_FIELDS, false);
+ opts_standard = COMPILER_QCCX;
+ } else {
+ con_out("Unknown standard: %s\n", argarg);
+ return false;
+ }
+ continue;
+ }
+ if (options_long_gcc("force-crc", &argc, &argv, &argarg)) {
+ opts_forcecrc = true;
+ opts_forced_crc = strtol(argarg, NULL, 0);
+ continue;
+ }
+ if (options_long_gcc("redirout", &argc, &argv, &redirout)) {
+ con_change(redirout, redirerr);
+ continue;
+ }
+ if (options_long_gcc("redirerr", &argc, &argv, &redirerr)) {
+ con_change(redirout, redirerr);
+ continue;
+ }
+
+ if (!strcmp(argv[0]+1, "debug")) {
+ opts_debug = true;
+ continue;
+ }
+ if (!strcmp(argv[0]+1, "dump")) {
+ opts_dump = true;
+ continue;
+ }
+ if (!strcmp(argv[0]+1, "dumpfin")) {
+ opts_dumpfin = true;
+ continue;
+ }
+ if (!strcmp(argv[0]+1, "memchk")) {
+ opts_memchk = true;
+ continue;
+ }
+ if (!strcmp(argv[0]+1, "nocolor")) {
+ con_color(0);
+ continue;
+ }
+