* utils.c: Use CPLUS_MARKER not '$'.
authorJim Kingdon <jkingdon@engr.sgi.com>
Fri, 19 Apr 1991 23:50:06 +0000 (23:50 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Fri, 19 Apr 1991 23:50:06 +0000 (23:50 +0000)
* cplus-dem.c: Use CPLUS_MARKER not '$'.  If CPLUS_MARKER isn't
defined, define it to '$'.

gdb/ChangeLog
gdb/cplus-dem.c
gdb/utils.c

index 268a8392bb18cf486f2f2511a3bfe6448a6c47ce..3df074d8f9975811748e32378622a0b0e38d9d15 100644 (file)
@@ -1,5 +1,10 @@
 Fri Apr 19 09:36:50 1991  Jim Kingdon  (kingdon at cygint.cygnus.com)
 
+       * utils.c: Use CPLUS_MARKER not '$'.
+
+       * cplus-dem.c: Use CPLUS_MARKER not '$'.  If CPLUS_MARKER isn't
+       defined, define it to '$'.
+
        * arm-opcode.h: New file (same contents as before; it had
        just been left out of the distribution for a long time).
 
index 48109d8fa03c3d19c8c464c99388f1f3ba4b7de6..3689b237985633d4c625b058400574c00b183eee 100644 (file)
 /* define this if names don't start with _ */
 /* #define nounderscore 1 */
 
+/* This is '$' on systems where the assembler can deal with that.
+   Where the assembler can't, it's '.' (but on many systems '.' is
+   used for other things).  */
+#if !defined (CPLUS_MARKER)
+#define CPLUS_MARKER '$'
+#endif
+
 #include <stdio.h>
 #include <ctype.h>
 
@@ -212,7 +219,7 @@ cplus_demangle (type, arg_mode)
   if (*p == '\0')
     {
       /* destructor */
-      if (type[0] == '_' && type[1] == '$' && type[2] == '_')
+      if (type[0] == '_' && type[1] == CPLUS_MARKER && type[2] == '_')
        {
          int n = (strlen (type) - 3)*2 + 3 + 2 + 1;
          char *tem = (char *) xmalloc (n);
@@ -223,7 +230,7 @@ cplus_demangle (type, arg_mode)
          return tem;
        }
       /* static data member */
-      if (*type != '_' && (p = strchr (type, '$')) != NULL)
+      if (*type != '_' && (p = strchr (type, CPLUS_MARKER)) != NULL)
        {
          int n = strlen (type) + 2;
          char *tem = (char *) xmalloc (n);
@@ -233,7 +240,7 @@ cplus_demangle (type, arg_mode)
          return tem;
        }
       /* virtual table "_vt$" */
-      if (type[0] == '_' && type[1] == 'v' && type[2] == 't' && type[3] == '$')
+      if (type[0] == '_' && type[1] == 'v' && type[2] == 't' && type[3] == CPLUS_MARKER)
        {
          int n = strlen (type + 4) + 14 + 1;
          char *tem = (char *) xmalloc (n);
@@ -810,7 +817,7 @@ munge_function_name (name, arg_mode)
      int arg_mode;
 {
   if (!string_empty (name) && name->p - name->b >= 3 
-      && name->b[0] == 'o' && name->b[1] == 'p' && name->b[2] == '$')
+      && name->b[0] == 'o' && name->b[1] == 'p' && name->b[2] == CPLUS_MARKER)
     {
       int i;
       /* see if it's an assignment expression */
index b3af85d9a43cda95f0480a60836cbb22ac5904cf..cb1eb9cce8a5563cdff6d9eb69f8622d6a7c425c 100644 (file)
@@ -894,7 +894,8 @@ fputs_demangled (linebuffer, stream, arg_mode)
 #endif
 #define SYMBOL_MAX 1024
 
-#define SYMBOL_CHAR(c) (isascii(c) && (isalnum(c) || (c) == '_' || (c) == '$'))
+#define SYMBOL_CHAR(c) (isascii(c) \
+  && (isalnum(c) || (c) == '_' || (c) == CPLUS_MARKER))
 
   char buf[SYMBOL_MAX+1];
 # define SLOP 5                /* How much room to leave in buf */