This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

other/633: In specs, %{<XXX*} does NOT remove switches from command line



>Number:         633
>Category:       other
>Synopsis:       In specs, %{<XXX*} does NOT remove switches from command line
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 12 03:06:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Pekka Nikander
>Release:        gcc version 2.97 20001011 (experimental)
>Organization:
>Environment:
FreeBSD-4.1.1-STABLE
>Description:
In specs definitions, %{<xxxyyy} removes XXX from appearing
on the command line even if later on %{xxx*} is specified.
However, %{<xxx*} does NOT remove all switches starting
with xxx, but instead is identical to %{xxx*}.
>How-To-Repeat:

>Fix:
diff -u -r1.171 gcc.c
--- gcc.c	2000/10/05 22:55:19	1.171
+++ gcc.c	2000/10/12 10:03:09
@@ -4785,7 +4785,7 @@
 	  && do_spec_1 (save_string (body, endbody-body-1), 0, NULL_PTR) < 0)
 	return 0;
     }
-  else if (p[-1] == '*' && p[0] == '}')
+  else if (!elide_switch && p[-1] == '*' && p[0] == '}')
     {
       /* Substitute all matching switches as separate args.  */
       register int i;
>Release-Note:
>Audit-Trail:
>Unformatted:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]