2001-04-19 Mark Mitchell <mark@codesourcery.com>
+ * toplev.h (struct lang_hooks): Allow decode_option to indicate
+ that language-independent processing should not be done.
+ * toplev.c (main): Adjust accordingly.
+
* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
+Thu Apr 19 12:49:24 2001 Mark Mitchell <mark@codesourcery.com>
+
+ * top.c (ffe_decode_option): Do not permit language-independent
+ processing for -ffixed-line-length.
+
Thu Apr 12 17:57:55 2001 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* bad.c (inhibit_warnings): Delete redundant declaration.
/* top.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1999, 2001 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
char *len = &opt[2] + strlen ("fixed-line-length-");
if (strcmp (len, "none") == 0)
- ffe_set_fixed_line_length (0);
+ {
+ ffe_set_fixed_line_length (0);
+ return -1;
+ }
else if (ffe_is_digit_string_ (len))
- ffe_set_fixed_line_length (atol (len));
+ {
+ ffe_set_fixed_line_length (atol (len));
+ return -1;
+ }
else
return 0;
}
/* Perform normal command line switch decoding. */
for (i = 1; i < argc;)
{
- unsigned int lang_processed;
- unsigned int indep_processed;
+ int lang_processed;
+ int indep_processed;
/* Give the language a chance to decode the option for itself. */
lang_processed = (*lang_hooks.decode_option) (argc - i, argv + i);
- /* Now see if the option also has a language independent meaning.
- Some options are both language specific and language independent,
- eg --help. */
- indep_processed = independent_decode_option (argc - i, argv + i);
+ if (lang_processed >= 0)
+ /* Now see if the option also has a language independent meaning.
+ Some options are both language specific and language independent,
+ eg --help. */
+ indep_processed = independent_decode_option (argc - i, argv + i);
+ else
+ {
+ lang_processed = -lang_processed;
+ indep_processed = 0;
+ }
if (lang_processed || indep_processed)
i += MAX (lang_processed, indep_processed);
single option (typically starting with -f or -W or +). It should
return the number of command-line arguments it uses if it handles
the option, or 0 and not complain if it does not recognise the
- option. This hook cannot be NULL. */
+ option. If this function returns a negative number, then its
+ absolute value is the number of command-line arguments used, but,
+ in addition, no language-independent option processing should be
+ done for this option.
+
+ This hook cannot be NULL. */
int (*decode_option) PARAMS ((int, char **));
/* Called when all command line options have been processed. */