From a3a0177e779d569c6e906cb7b94c22c327d6363b Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Wed, 18 Dec 2002 01:07:26 -0500
Subject: [PATCH] * gcc.c (do_spec_1) ['W']: End any pending argument from the
 braces.

From-SVN: r60235
---
 gcc/ChangeLog |  2 ++
 gcc/gcc.c     | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52a4c886bccf..d6c9dd79b27d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
 
diff --git a/gcc/gcc.c b/gcc/gcc.c
index ad1a478a566d..dea12aac9351 100644
--- 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)
-- 
GitLab