diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-19 19:52:17 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-19 19:52:17 +0000 |
commit | 65fd03c09718899ae351d9eca6b717b3a0f959c7 (patch) | |
tree | 98b8cfe356888710abb3c4f2fda98fb972bae195 /gcc | |
parent | 41441b595a9bffbf63a6da9fb6a9c050817a38de (diff) | |
download | gcc-65fd03c09718899ae351d9eca6b717b3a0f959c7.tar.gz |
* toplev.h (struct lang_hooks): Allow decode_option to indicate
that language-independent processing should not be done.
* toplev.c (main): Adjust accordingly.
* top.c (ffe_decode_option): Do not permit language-independent
processing for -ffixed-line-length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41427 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/f/top.c | 12 | ||||
-rw-r--r-- | gcc/toplev.c | 18 | ||||
-rw-r--r-- | gcc/toplev.h | 7 |
5 files changed, 36 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfd394e783e..22dbfba9c39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 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. diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index cae6cb242c4..3bd17324c12 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,8 @@ +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. diff --git a/gcc/f/top.c b/gcc/f/top.c index 6eba5c98bb4..9675989e210 100644 --- a/gcc/f/top.c +++ b/gcc/f/top.c @@ -1,5 +1,5 @@ /* 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. @@ -464,9 +464,15 @@ ffe_decode_option (argc, argv) 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; } diff --git a/gcc/toplev.c b/gcc/toplev.c index 66cada9a5b0..9bc38063152 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -4778,16 +4778,22 @@ toplev_main (argc, argv) /* 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); diff --git a/gcc/toplev.h b/gcc/toplev.h index edf7e0242e0..1f8f7d02e37 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -154,7 +154,12 @@ struct lang_hooks 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. */ |