summaryrefslogtreecommitdiff
path: root/gdb/cp-name-parser.y
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2008-10-27 19:28:50 +0000
committerPedro Alves <pedro@codesourcery.com>2008-10-27 19:28:50 +0000
commit7c43910da1126fe1cbc5854d0414d8ac6a2f044f (patch)
treed6347683993759f23bc43dca2bdb02c3f1dcb193 /gdb/cp-name-parser.y
parent23aaf67c9ef689b684b26f0760bf5978cf1aff35 (diff)
downloadgdb-7c43910da1126fe1cbc5854d0414d8ac6a2f044f.tar.gz
* cp-name-parser.y: Include defs.h instead of config.h.
(parse_escape): Rename to ... (cp_parse_escape): ... this. (yylex): Update. (xfree) [TEST_CPNAMES]: New.
Diffstat (limited to 'gdb/cp-name-parser.y')
-rw-r--r--gdb/cp-name-parser.y18
1 files changed, 14 insertions, 4 deletions
diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y
index 023e306e118..e1641f4ce90 100644
--- a/gdb/cp-name-parser.y
+++ b/gdb/cp-name-parser.y
@@ -31,7 +31,7 @@ Boston, MA 02110-1301, USA. */
%{
-#include "config.h"
+#include "defs.h"
#include <stdio.h>
#include <stdlib.h>
@@ -1462,7 +1462,7 @@ c_parse_backslash (int host_char, int *target_char)
after the zeros. A value of 0 does not mean end of string. */
static int
-parse_escape (const char **string_ptr)
+cp_parse_escape (const char **string_ptr)
{
int target_char;
int c = *(*string_ptr)++;
@@ -1483,7 +1483,7 @@ parse_escape (const char **string_ptr)
if (c == '?')
return 0177;
else if (c == '\\')
- target_char = parse_escape (string_ptr);
+ target_char = cp_parse_escape (string_ptr);
else
target_char = c;
@@ -1581,7 +1581,7 @@ yylex (void)
lexptr++;
c = *lexptr++;
if (c == '\\')
- c = parse_escape (&lexptr);
+ c = cp_parse_escape (&lexptr);
else if (c == '\'')
{
yyerror ("empty character constant");
@@ -2084,6 +2084,16 @@ trim_chars (char *lexptr, char **extra_chars)
return c;
}
+/* When this file is built as a standalone program, xmalloc comes from
+ libiberty --- in which case we have to provide xfree ourselves. */
+
+void
+xfree (void *ptr)
+{
+ if (ptr != NULL)
+ free (ptr);
+}
+
int
main (int argc, char **argv)
{