New interface for lang_decode_option.
authorDave Brolley <brolley@cygnus.com>
Wed, 10 Jun 1998 10:18:45 +0000 (10:18 +0000)
committerDave Brolley <brolley@gcc.gnu.org>
Wed, 10 Jun 1998 10:18:45 +0000 (06:18 -0400)
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.

From-SVN: r20409

gcc/f/ChangeLog
gcc/f/com.c
gcc/f/parse.c
gcc/f/top.c
gcc/f/top.h

index 98fdfd748e868632c79b0de46d323fa9dcb2ae62..4f259ea60af0bbaeb1c0909b865a1f950a2391d6 100644 (file)
@@ -1,3 +1,9 @@
+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.
 Mon Jun  1 19:37:42 1998  Craig Burley  <burley@gnu.org>
 
        * com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7)
index 85c9f5b3108234dcb7e84b3ecda7bfb0e72656c4..512e9269929a23a54d33279aec79a19016c96902 100644 (file)
@@ -14904,10 +14904,11 @@ insert_block (block)
 }
 
 int
-lang_decode_option (p)
-     char *p;
+lang_decode_option (argc, argv)
+     int argc;
+     char **argv;
 {
-  return ffe_decode_option (p);
+  return ffe_decode_option (argc, argv);
 }
 
 /* used by print-tree.c */
index 1efdc77ec9e6901315874ffaf0814df3bfe43778..a25a9ec164df83a0e6ac7daaacbc860311d331d6 100644 (file)
@@ -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);
index bbcc59d66bb7281294564cc3e9f246ff601684b5..c93ffd310b00499fa856fbf540342dfaa136c817 100644 (file)
@@ -160,8 +160,11 @@ ffe_is_digit_string_ (char *s)
    recognized and handled.  */
 
 int
-ffe_decode_option (char *opt)
+ffe_decode_option (argc, argv)
+     int argc;
+     char **argv;
 {
+  char *opt = argv[0];
   if (opt[0] != '-')
     return 0;
   if (opt[1] == 'f')
index 7ecf998fbbbcb4ab9786c9b4d21d9a8150b6448f..0e159cecda131841b56595fef19484dab84dccbd 100644 (file)
@@ -141,7 +141,7 @@ extern bool ffe_in_4;
 
 /* Declare functions with prototypes. */
 
-int ffe_decode_option (char *opt);
+int ffe_decode_option (int argc, char **argv);
 void ffe_file (ffewhereFile wf, FILE *f);
 void ffe_init_0 (void);
 void ffe_init_1 (void);