- if (strcmp (argv[i], "-static-libgcc") == 0
- || strcmp (argv[i], "-static") == 0)
- return;
- }
- else
- {
- int len;
-
- /* If the filename ends in .m or .mi, we are compiling ObjC
- and want to pass -shared-libgcc. */
- len = strlen (argv[i]);
- if ((len > 2 && argv[i][len - 2] == '.' && argv[i][len - 1] == 'm')
- || (len > 3 && argv[i][len - 3] == '.' && argv[i][len - 2] == 'm'
- && argv[i][len - 1] == 'i'))
- shared_libgcc = 1;
+ case OPT_static_libgcc:
+ case OPT_static:
+ return;
+
+ case OPT_SPECIAL_input_file:
+ {
+ const char *file = decoded_options[i].arg;
+ int len;
+
+ /* If the filename ends in .m or .mi, we are compiling
+ ObjC and want to pass -shared-libgcc. */
+ len = strlen (file);
+ if ((len > 2 && file[len - 2] == '.' && file[len - 1] == 'm')
+ || (len > 3 && file[len - 3] == '.' && file[len - 2] == 'm'
+ && file[len - 1] == 'i'))
+ shared_libgcc = 1;
+ }
+ break;