2012-09-12 Cary Coutant <ccout...@google.com> gcc/ * gcc.c (replace_extension_spec_func): Restrict search for extension to last component of path.
Index: gcc/gcc.c =================================================================== --- gcc/gcc.c (revision 191233) +++ gcc/gcc.c (working copy) @@ -8413,12 +8413,18 @@ replace_extension_spec_func (int argc, c char *name; char *p; char *result; + int i; if (argc != 2) fatal_error ("too few arguments to %%:replace-extension"); name = xstrdup (argv[0]); - p = strrchr (name, '.'); + + for (i = strlen(name) - 1; i >= 0; i--) + if (IS_DIR_SEPARATOR (name[i])) + break; + + p = strrchr (name + i + 1, '.'); if (p != NULL) *p = '\0';