[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: Debugging tools
From: |
Akim Demaille |
Subject: |
FYI: Debugging tools |
Date: |
Tue, 12 Jul 2005 15:42:29 +0200 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
Index: ChangeLog
from Akim Demaille <address@hidden>
* src/symtab.h, src/symtab.c (symbol_print): New.
* src/symlist.h, src/symlist.c (symbol_list_print): New.
* src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
2005-07-11 Paul Eggert <address@hidden>
Index: src/symlist.c
===================================================================
RCS file: /cvsroot/bison/bison/src/symlist.c,v
retrieving revision 1.9
diff -u -u -r1.9 symlist.c
--- src/symlist.c 14 May 2005 06:49:48 -0000 1.9
+++ src/symlist.c 12 Jul 2005 13:41:14 -0000
@@ -1,6 +1,6 @@
/* Lists of symbols for Bison
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -44,6 +44,18 @@
}
+/*------------------.
+| Print this list. |
+`------------------*/
+
+void
+symbol_list_print (FILE *f, symbol_list *l)
+{
+ for (/* Nothing. */; l; l = l->next)
+ symbol_print (f, l->sym);
+}
+
+
/*---------------------------------.
| Prepend SYM at LOC to the LIST. |
`---------------------------------*/
@@ -94,7 +106,7 @@
if (n < 0)
{
- complain_at (loc, _("invalid $ value"));
+ complain_at (loc, _("invalid $ value: $%d"), n);
return NULL;
}
@@ -105,7 +117,8 @@
rp = rp->next;
if (rp == NULL || rp->sym == NULL)
{
- complain_at (loc, _("invalid $ value"));
+ complain_at (loc, _("invalid $ value: $%d"), n);
return NULL;
}
++i;
Index: src/symlist.h
===================================================================
RCS file: /cvsroot/bison/bison/src/symlist.h,v
retrieving revision 1.8
diff -u -u -r1.8 symlist.h
--- src/symlist.h 14 May 2005 06:49:48 -0000 1.8
+++ src/symlist.h 12 Jul 2005 13:41:14 -0000
@@ -1,6 +1,6 @@
/* Lists of symbols for Bison
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -43,6 +43,9 @@
/* Create a list containing SYM at LOC. */
symbol_list *symbol_list_new (symbol *sym, location loc);
+
+/* Print it. */
+void symbol_list_print (FILE *f, symbol_list *l);
/* Prepend SYM at LOC to the LIST. */
symbol_list *symbol_list_prepend (symbol_list *list,
Index: src/symtab.c
===================================================================
RCS file: /cvsroot/bison/bison/src/symtab.c,v
retrieving revision 1.62
diff -u -u -r1.62 symtab.c
--- src/symtab.c 14 May 2005 06:49:48 -0000 1.62
+++ src/symtab.c 12 Jul 2005 13:41:14 -0000
@@ -74,6 +74,25 @@
}
+/*-----------------.
+| Print a symbol. |
+`-----------------*/
+
+#define SYMBOL_ATTR_PRINT(Attr) \
+ if (s->Attr) \
+ fprintf (stderr, " %s { %s }", #Attr, s->Attr)
+
+void
+symbol_print (FILE *f, symbol *s)
+{
+ fprintf (stderr, "\"%s\"", s->tag);
+ SYMBOL_ATTR_PRINT (type_name);
+ SYMBOL_ATTR_PRINT (destructor);
+ SYMBOL_ATTR_PRINT (printer);
+}
+
+#undef SYMBOL_ATTR_PRINT
+
/*------------------------------------------------------------------.
| Complain that S's WHAT is redeclared at SECOND, and was first set |
| at FIRST. |
Index: src/symtab.h
===================================================================
RCS file: /cvsroot/bison/bison/src/symtab.h,v
retrieving revision 1.55
diff -u -u -r1.55 symtab.h
--- src/symtab.h 14 May 2005 06:49:48 -0000 1.55
+++ src/symtab.h 12 Jul 2005 13:41:14 -0000
@@ -1,6 +1,6 @@
/* Definitions for symtab.c and callers, part of Bison.
- Copyright (C) 1984, 1989, 1992, 2000, 2001, 2002, 2004
+ Copyright (C) 1984, 1989, 1992, 2000, 2001, 2002, 2004, 2005
Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -91,6 +91,8 @@
/* Undefined internal token number. */
#define NUMBER_UNDEFINED (-1)
+/* Print a symbol (for debugging). */
+void symbol_print (FILE *f, symbol *s);
/* Fetch (or create) the symbol associated to KEY. */
symbol *symbol_get (const char *key, location loc);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- FYI: Debugging tools,
Akim Demaille <=