re PR target/6077 ([alpha-osf].s with -x assembler-with-cpp breaks mips-tfile)
PR target/6077 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...} and %{.S:...} (and their negative variants) to test whether the input file is assembler or pre-processed-assembler independent of the actual filename extension. From-SVN: r93023
This commit is contained in:
parent
c79fc2963d
commit
9a3bf943ce
@ -1,3 +1,11 @@
|
|||||||
|
2005-01-06 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
|
PR target/6077
|
||||||
|
* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
|
||||||
|
and %{.S:...} (and their negative variants) to test whether the
|
||||||
|
input file is assembler or pre-processed-assembler independent of
|
||||||
|
the actual filename extension.
|
||||||
|
|
||||||
2005-01-06 Roger Sayle <roger@eyesopen.com>
|
2005-01-06 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
|
* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
|
||||||
|
16
gcc/gcc.c
16
gcc/gcc.c
@ -5460,6 +5460,22 @@ handle_spec_function (const char *p)
|
|||||||
static inline bool
|
static inline bool
|
||||||
input_suffix_matches (const char *atom, const char *end_atom)
|
input_suffix_matches (const char *atom, const char *end_atom)
|
||||||
{
|
{
|
||||||
|
/* We special case the semantics of {.s:...} and {.S:...} and their
|
||||||
|
negative variants. Instead of testing the input filename suffix,
|
||||||
|
we test whether the input source file is an assembler file or an
|
||||||
|
assembler-with-cpp file respectively. This allows us to correctly
|
||||||
|
handle the -x command line option. */
|
||||||
|
|
||||||
|
if (atom + 1 == end_atom
|
||||||
|
&& input_file_compiler
|
||||||
|
&& input_file_compiler->suffix)
|
||||||
|
{
|
||||||
|
if (*atom == 's')
|
||||||
|
return !strcmp (input_file_compiler->suffix, "@assembler");
|
||||||
|
if (*atom == 'S')
|
||||||
|
return !strcmp (input_file_compiler->suffix, "@assembler-with-cpp");
|
||||||
|
}
|
||||||
|
|
||||||
return (input_suffix
|
return (input_suffix
|
||||||
&& !strncmp (input_suffix, atom, end_atom - atom)
|
&& !strncmp (input_suffix, atom, end_atom - atom)
|
||||||
&& input_suffix[end_atom - atom] == '\0');
|
&& input_suffix[end_atom - atom] == '\0');
|
||||||
|
Loading…
Reference in New Issue
Block a user