diff options
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/gcc.c | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52a4c88..d6c9dd7 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. @@ -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) |