aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorStan Cox <coxs@gnu.org>1996-09-27 16:54:10 +0000
committerStan Cox <coxs@gnu.org>1996-09-27 16:54:10 +0000
commit51c0d897d410385c872e663f3047fb69c8b171a3 (patch)
tree70a28adea71d0ea3e73b70c2bdc17fafeae3b529 /gcc/gcc.c
parent8524774e646a541564a0f8036efcc9f4bac42c68 (diff)
downloadgcc-51c0d897d410385c872e663f3047fb69c8b171a3.zip
gcc-51c0d897d410385c872e663f3047fb69c8b171a3.tar.gz
gcc-51c0d897d410385c872e663f3047fb69c8b171a3.tar.bz2
(do_spec_1): Allow -A in %[Spec].
From-SVN: r12852
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 081596f..0b84a83 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -3585,6 +3585,8 @@ do_spec_1 (spec, inswitch, soft_matched_part)
every -D and at the end of each arg, */
while (1)
{
+ int flag;
+
if (! strncmp (y, "-D", 2))
{
*x++ = '-';
@@ -3592,16 +3594,18 @@ do_spec_1 (spec, inswitch, soft_matched_part)
*x++ = '_';
*x++ = '_';
y += 2;
+ flag = 1;
+ continue;
}
- else if (*y == ' ' || *y == 0)
+ else if (flag && (*y == ' ' || *y == '\t' || *y == '='
+ || *y == '}' || *y == 0))
{
*x++ = '_';
*x++ = '_';
- if (*y == 0)
- break;
- else
- *x++ = *y++;
+ flag = 0;
}
+ if (*y == 0)
+ break;
else
*x++ = *y++;
}