aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2002-05-31 06:01:18 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-05-31 06:01:18 +0000
commita9da2e5b38bb4c003f627a89bc326e7a134dc4cc (patch)
treee353620a00ef4bffcf1f03fe7e4b0110c6ca77c0 /gcc/c-common.c
parent6248c4ddc8095dfefd8c8a37fbc625a80d4e0456 (diff)
downloadgcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.zip
gcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.tar.gz
gcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.tar.bz2
* c-common.c (builtin_define_std): Correct logic.
From-SVN: r54089
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c11
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... */