aboutsummaryrefslogtreecommitdiff
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
parent6248c4ddc8095dfefd8c8a37fbc625a80d4e0456 (diff)
downloadgcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.zip
gcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.tar.gz
gcc-a9da2e5b38bb4c003f627a89bc326e7a134dc4cc.tar.bz2
* c-common.c (builtin_define_std): Correct logic.
From-SVN: r54089
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-common.c11
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... */