* gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
authorJason Merrill <jason@redhat.com>
Wed, 18 Dec 2002 06:07:26 +0000 (01:07 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 18 Dec 2002 06:07:26 +0000 (01:07 -0500)
From-SVN: r60235

gcc/ChangeLog
gcc/gcc.c

index 52a4c886bccf4aa46936dad717da31a6ad3f3214..d6c9dd79b27def5a469733b2cda30eb3ae801175 100644 (file)
@@ -1,5 +1,7 @@
 2002-12-17  Jason Merrill  <jason@redhat.com>
 
+        * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
+
        * calls.c (expand_call): Don't try to be clever about expanding
        the return slot address.
 
index ad1a478a566d6693114026bacda2a7b26b8517c6..dea12aac9351bc23d00bcd425491e89646553c58 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4778,6 +4778,18 @@ do_spec_1 (spec, inswitch, soft_matched_part)
              p = handle_braces (p + 1);
              if (p == 0)
                return -1;
+             /* End any pending argument.  */
+             if (arg_going)
+               {
+                 obstack_1grow (&obstack, 0);
+                 string = obstack_finish (&obstack);
+                 if (this_is_library_file)
+                   string = find_file (string);
+                 store_arg (string, delete_this_arg, this_is_output_file);
+                 if (this_is_output_file)
+                   outfiles[input_file_number] = string;
+                 arg_going = 0;
+               }
              /* If any args were output, mark the last one for deletion
                 on failure.  */
              if (argbuf_index != cur_index)