aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-02-24 14:52:42 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-02-24 14:52:42 +0000
commit44ee6e9e621d709c5cfed564ed7f9f97cb1d086a (patch)
treee3e3b2fca7c52cee52b67b3dc472644aeb74d9d3 /gcc/gcc.c
parenta7a287eb4f381c6a946e7e13c0b39727b40a8651 (diff)
downloadgcc-44ee6e9e621d709c5cfed564ed7f9f97cb1d086a.zip
gcc-44ee6e9e621d709c5cfed564ed7f9f97cb1d086a.tar.gz
gcc-44ee6e9e621d709c5cfed564ed7f9f97cb1d086a.tar.bz2
gcc.c (do_spec_1): Handle pending argument upon return from handle_braces in "%{...}".
* gcc.c (do_spec_1) ['{']: Handle pending argument upon return from handle_braces in "%{...}". From-SVN: r63357
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 52ca424..937f471 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 ':':