Commit 1f50b029 by Nick Clifton Committed by Nick Clifton

Prepend '-m' to --hrlp output of target specific options.

Ignore text after end of first word of a language specific option.

From-SVN: r23151
parent 13c8e8e3
Sat Oct 17 11:02:47 1998 Nick Clifton <nickc@cygnus.com>
* toplev.c (display_help): Prepend '-m' to target specific
options.
(check_lang_option): Ignore text after end of first word of a
language specific option.
Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* reload1.c (reg_used_by_pseudo): New static variable. * reload1.c (reg_used_by_pseudo): New static variable.
......
...@@ -4120,7 +4120,7 @@ display_help () ...@@ -4120,7 +4120,7 @@ display_help ()
else if (description == NULL) else if (description == NULL)
undoc = 1; undoc = 1;
else if (* description != 0) else if (* description != 0)
doc += printf (" %-23.23s %s\n", option, description); doc += printf (" -m%-21.21s %s\n", option, description);
} }
#ifdef TARGET_OPTIONS #ifdef TARGET_OPTIONS
...@@ -4134,7 +4134,7 @@ display_help () ...@@ -4134,7 +4134,7 @@ display_help ()
else if (description == NULL) else if (description == NULL)
undoc = 1; undoc = 1;
else if (* description != 0) else if (* description != 0)
doc += printf (" %-23.23s %s\n", option, description); doc += printf (" -m%-21.21s %s\n", option, description);
} }
#endif #endif
if (undoc) if (undoc)
...@@ -4159,55 +4159,59 @@ check_lang_option (option, lang_option) ...@@ -4159,55 +4159,59 @@ check_lang_option (option, lang_option)
lang_independent_options * indep_options; lang_independent_options * indep_options;
int len; int len;
long k; long k;
char * space;
/* Ignore NULL entries. */ /* Ignore NULL entries. */
if (option == NULL || lang_option == NULL) if (option == NULL || lang_option == NULL)
return 0; return 0;
len = strlen (lang_option); if ((space = strchr (lang_option, ' ')) != NULL)
len = space - lang_option;
else
len = strlen (lang_option);
/* If they do not match to the first n characters then fail. */ /* If they do not match to the first n characters then fail. */
if (strncmp (option, lang_option, len) != 0) if (strncmp (option, lang_option, len) != 0)
return 0; return 0;
/* Do not accept a lang option, if it matches a normal -f or -W /* Do not accept a lang option, if it matches a normal -f or -W
option. Chill defines a -fpack, but we want to support option. Chill defines a -fpack, but we want to support
-fpack-struct. */ -fpack-struct. */
/* An exact match is OK */ /* An exact match is OK */
if (strlen (option) == len) if (strlen (option) == len)
return 1; return 1;
/* If it is not an -f or -W option allow the match */ /* If it is not an -f or -W option allow the match */
if (option[0] != '-') if (option[0] != '-')
return 1; return 1;
switch (option[1]) switch (option[1])
{ {
case 'f': indep_options = f_options; break; case 'f': indep_options = f_options; break;
case 'W': indep_options = W_options; break; case 'W': indep_options = W_options; break;
default: return 1; default: return 1;
} }
/* The option is a -f or -W option. /* The option is a -f or -W option.
Skip past the prefix and search for the remainder in the Skip past the prefix and search for the remainder in the
appropriate table of options. */ appropriate table of options. */
option += 2; option += 2;
if (option[0] == 'n' && option[1] == 'o' && option[2] == '-') if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
option += 3; option += 3;
for (k = NUM_ELEM (indep_options); k--;) for (k = NUM_ELEM (indep_options); k--;)
{ {
if (!strcmp (option, indep_options[k].string)) if (!strcmp (option, indep_options[k].string))
{ {
/* The option matched a language independent option, /* The option matched a language independent option,
do not allow the language specific match. */ do not allow the language specific match. */
return 0; return 0;
} }
} }
/* The option matches the start of the langauge specific option /* The option matches the start of the langauge specific option
and it is not an exact match for a language independent option. */ and it is not an exact match for a language independent option. */
return 1; return 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment