summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-17 11:04:29 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-17 11:04:29 +0000
commit753d241a2ba645a3df2a939f6c89701135cc65f8 (patch)
treee8428824de9f9b600967e90f6f7208099cd4c51f /gcc
parente55026a114c3fd447d7f515c5e9654da89c1c205 (diff)
downloadgcc-753d241a2ba645a3df2a939f6c89701135cc65f8.tar.gz
Prepend '-m' to --hrlp output of target specific options.
Ignore text after end of first word of a language specific option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23151 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/toplev.c32
2 files changed, 25 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ca7e47046de..dfdf0cb4a6b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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>
* reload1.c (reg_used_by_pseudo): New static variable.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index b329ccc5775..7d866d694ff 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -4120,7 +4120,7 @@ display_help ()
else if (description == NULL)
undoc = 1;
else if (* description != 0)
- doc += printf (" %-23.23s %s\n", option, description);
+ doc += printf (" -m%-21.21s %s\n", option, description);
}
#ifdef TARGET_OPTIONS
@@ -4134,7 +4134,7 @@ display_help ()
else if (description == NULL)
undoc = 1;
else if (* description != 0)
- doc += printf (" %-23.23s %s\n", option, description);
+ doc += printf (" -m%-21.21s %s\n", option, description);
}
#endif
if (undoc)
@@ -4159,55 +4159,59 @@ check_lang_option (option, lang_option)
lang_independent_options * indep_options;
int len;
long k;
-
+ char * space;
+
/* Ignore NULL entries. */
if (option == NULL || lang_option == NULL)
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 (strncmp (option, lang_option, len) != 0)
return 0;
-
+
/* Do not accept a lang option, if it matches a normal -f or -W
option. Chill defines a -fpack, but we want to support
-fpack-struct. */
-
+
/* An exact match is OK */
if (strlen (option) == len)
return 1;
-
+
/* If it is not an -f or -W option allow the match */
if (option[0] != '-')
return 1;
-
+
switch (option[1])
{
case 'f': indep_options = f_options; break;
case 'W': indep_options = W_options; break;
default: return 1;
}
-
+
/* The option is a -f or -W option.
Skip past the prefix and search for the remainder in the
appropriate table of options. */
option += 2;
-
+
if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
option += 3;
-
+
for (k = NUM_ELEM (indep_options); k--;)
{
if (!strcmp (option, indep_options[k].string))
{
/* The option matched a language independent option,
do not allow the language specific match. */
-
+
return 0;
}
}
-
+
/* The option matches the start of the langauge specific option
and it is not an exact match for a language independent option. */
return 1;