summaryrefslogtreecommitdiffstats
path: root/gcc/f/parse.c
diff options
context:
space:
mode:
authorbrolley <brolley@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-10 10:18:45 +0000
committerbrolley <brolley@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-10 10:18:45 +0000
commit0d7cd636a846102d3f59878c4bda367530ee9681 (patch)
tree83471fce0622c0edc93ed0faa3f673c2747f8c70 /gcc/f/parse.c
parentf65ee48413e335ca45273afefc7a38116d055846 (diff)
downloadppe42-gcc-0d7cd636a846102d3f59878c4bda367530ee9681.tar.gz
ppe42-gcc-0d7cd636a846102d3f59878c4bda367530ee9681.zip
New interface for lang_decode_option.
Wed Jun 10 13:17:32 1998 Dave Brolley <brolley@cygnus.com> * top.h (ffe_decode_option): New argc/argv interface. * top.c (ffe_decode_option): New argc/argv interface. * parse.c (yyparse): New argc/argv interface for ffe_decode_option. * com.c (lang_decode_option): New argc/argv interface. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20409 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/f/parse.c')
-rw-r--r--gcc/f/parse.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/f/parse.c b/gcc/f/parse.c
index 1efdc77ec9e..a25a9ec164d 100644
--- a/gcc/f/parse.c
+++ b/gcc/f/parse.c
@@ -52,11 +52,18 @@ yyparse ()
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffe_init_0 ();
- for (--argc, ++argv; argc > 0; --argc, ++argv)
- {
- if (!ffe_decode_option (argv[0]))
- fprintf (stderr, "Unrecognized option: %s\n", argv[0]);
- }
+ {
+ int strings_processed;
+ for (--argc, ++argv; argc > 0; argc -= strings_processed, argv += strings_processed)
+ {
+ strings_processed = ffe_decode_option (argc, argv);
+ if (strings_processed == 0)
+ {
+ fprintf (stderr, "Unrecognized option: %s\n", argv[0]);
+ strings_processed = 1;
+ }
+ }
+ }
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
if (!ffe_is_pedantic ())
ffe_set_is_pedantic (pedantic);
OpenPOWER on IntegriCloud