summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/cp-name-parser.y18
2 files changed, 22 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 44fda818622..f55262c475d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,13 @@
2008-10-27 Pedro Alves <pedro@codesourcery.com>
+ * 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.
+
+2008-10-27 Pedro Alves <pedro@codesourcery.com>
+
* CONTRIBUTE: Mention autoconf 2.59 and configure.ac instead of
2.13 and configure.in.
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)
{