diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1991-04-19 23:50:06 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1991-04-19 23:50:06 +0000 |
commit | f88e7af8313dbf9c7c8f4781c2b1ac064c56ac2e (patch) | |
tree | a011a4c1449c9479f2f5f452407a86b11ef25d3e /gdb | |
parent | 9ba8a5a46bc4cf3d18cdfc940895c1fabe18ede2 (diff) | |
download | gdb-f88e7af8313dbf9c7c8f4781c2b1ac064c56ac2e.zip gdb-f88e7af8313dbf9c7c8f4781c2b1ac064c56ac2e.tar.gz gdb-f88e7af8313dbf9c7c8f4781c2b1ac064c56ac2e.tar.bz2 |
* utils.c: Use CPLUS_MARKER not '$'.
* cplus-dem.c: Use CPLUS_MARKER not '$'. If CPLUS_MARKER isn't
defined, define it to '$'.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/cplus-dem.c | 15 | ||||
-rw-r--r-- | gdb/utils.c | 3 |
3 files changed, 18 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 268a839..3df074d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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). diff --git a/gdb/cplus-dem.c b/gdb/cplus-dem.c index 48109d8..3689b23 100644 --- a/gdb/cplus-dem.c +++ b/gdb/cplus-dem.c @@ -52,6 +52,13 @@ /* 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 */ diff --git a/gdb/utils.c b/gdb/utils.c index b3af85d..cb1eb9c 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -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 */ |