diff options
Diffstat (limited to 'gcc/c-common.c')
| -rw-r--r-- | gcc/c-common.c | 11 |
1 files changed, 7 insertions, 4 deletions
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... */ |
