]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/37520 (NO_DOLLAR_IN_LABEL should be defined on x86 targets)
authorH.J. Lu <hongjiu.lu@intel.com>
Sat, 7 Mar 2009 01:47:25 +0000 (01:47 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sat, 7 Mar 2009 01:47:25 +0000 (17:47 -0800)
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.

From-SVN: r144692

gcc/cp/ChangeLog
gcc/cp/cp-tree.h

index df07da5b85123b007ebfb4432f14f93d463d02a7..dcf3158df603910ff95c7a94e6e63e3b04abe69c 100644 (file)
@@ -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
index aedf5b96749b44388b3dec2728a09f7c6c2e96c2..0b1d7c61cdceb614b22b01a06a3d6787a7a49e07 100644 (file)
@@ -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"