diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/c-common.c | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90bbe7e..151362c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-05-31 Neil Booth <neil@daikokuya.demon.co.uk> + + * c-common.c (builtin_define_std): Correct logic. + 2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca> * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20. diff --git a/gcc/c-common.c b/gcc/c-common.c index 8a554e8..e1633cb 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -4440,10 +4440,13 @@ builtin_define_std (macro) /* prepend __ (or maybe just _) if in user's namespace. */ memcpy (p, macro, len + 1); - if (*p != '_') - *--p = '_'; - if (p[1] != '_' && !ISUPPER (p[1])) - *--p = '_'; + if (!( *p == '_' && (p[1] == '_' || ISUPPER (p[1])))) + { + if (*p != '_') + *--p = '_'; + if (p[1] != '_') + *--p = '_'; + } cpp_define (parse_in, p); /* If it was in user's namespace... */ |
