summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-24 14:52:42 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-24 14:52:42 +0000
commitc5c22354ea3b9974dbb8491a86dd930d06d53bf0 (patch)
treee3e3b2fca7c52cee52b67b3dc472644aeb74d9d3
parent4e29e79f3acc81e1ba31c40752d0bef8ace3424f (diff)
downloadppe42-gcc-c5c22354ea3b9974dbb8491a86dd930d06d53bf0.tar.gz
ppe42-gcc-c5c22354ea3b9974dbb8491a86dd930d06d53bf0.zip
* gcc.c (do_spec_1) ['{']: Handle pending argument upon return
from handle_braces in "%{...}". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63357 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gcc.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2efa9116bd1..1cdc6428f67 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-24 Roger Sayle <roger@eyesopen.com>
+
+ * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
+ from handle_braces in "%{...}".
+
2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 52ca4242021..937f47163f8 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1,6 +1,6 @@
/* Compiler driver program that can handle many languages.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5154,6 +5154,18 @@ do_spec_1 (spec, inswitch, soft_matched_part)
p = handle_braces (p);
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;
+ }
break;
case ':':
OpenPOWER on IntegriCloud