aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjl <>2009-03-07 01:47:25 +0000
committerhjl <>2009-03-07 01:47:25 +0000
commit92c36dcf2367fb4a63df71ab283f5ff02d2994df (patch)
tree5892b332ae2b3ecfa6f3b1cb161cecb0e399ba30
parenta7fbf6e97483fd845760a6e6241623afd392bb38 (diff)
2009-03-06 H.J. Lu <hongjiu.lu@intel.com>stack-last-merge
PR c++/37520 * cp-tree.h: Check NO_DOT_IN_LABEL before NO_DOLLAR_IN_LABEL when mangling symbols.
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-tree.h30
2 files changed, 21 insertions, 15 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index df07da5b851..dcf3158df60 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/37520
+ * cp-tree.h: Check NO_DOT_IN_LABEL before NO_DOLLAR_IN_LABEL
+ when mangling symbols.
+
2009-03-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33492
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index aedf5b96749..0b1d7c61cdc 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3660,20 +3660,8 @@ extern GTY(()) VEC(tree,gc) *local_classes;
at a particular location, we can index into the string at
any other location that provides distinguishing characters). */
-/* Define NO_DOLLAR_IN_LABEL in your favorite tm file if your assembler
- doesn't allow '$' in symbol names. */
-#ifndef NO_DOLLAR_IN_LABEL
-
-#define JOINER '$'
-
-#define AUTO_TEMP_NAME "_$tmp_"
-#define VFIELD_BASE "$vf"
-#define VFIELD_NAME "_vptr$"
-#define VFIELD_NAME_FORMAT "_vptr$%s"
-#define ANON_AGGRNAME_FORMAT "$_%d"
-
-#else /* NO_DOLLAR_IN_LABEL */
-
+/* Define NO_DOT_IN_LABEL in your favorite tm file if your assembler
+ doesn't allow '.' in symbol names. */
#ifndef NO_DOT_IN_LABEL
#define JOINER '.'
@@ -3687,6 +3675,18 @@ extern GTY(()) VEC(tree,gc) *local_classes;
#else /* NO_DOT_IN_LABEL */
+#ifndef NO_DOLLAR_IN_LABEL
+
+#define JOINER '$'
+
+#define AUTO_TEMP_NAME "_$tmp_"
+#define VFIELD_BASE "$vf"
+#define VFIELD_NAME "_vptr$"
+#define VFIELD_NAME_FORMAT "_vptr$%s"
+#define ANON_AGGRNAME_FORMAT "$_%d"
+
+#else /* NO_DOLLAR_IN_LABEL */
+
#define IN_CHARGE_NAME "__in_chrg"
#define AUTO_TEMP_NAME "__tmp_"
#define TEMP_NAME_P(ID_NODE) \
@@ -3709,8 +3709,8 @@ extern GTY(()) VEC(tree,gc) *local_classes;
sizeof (ANON_AGGRNAME_PREFIX) - 1))
#define ANON_AGGRNAME_FORMAT "__anon_%d"
-#endif /* NO_DOT_IN_LABEL */
#endif /* NO_DOLLAR_IN_LABEL */
+#endif /* NO_DOT_IN_LABEL */
#define THIS_NAME "this"