ansi name abuse changes
This commit is contained in:
parent
4c53d9ca84
commit
5805020985
|
@ -63,9 +63,12 @@ FIXME: See other FIXME's and "ifdef 0" scattered throughout the code for
|
|||
other things to work on, if you get bored. :-)
|
||||
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef __STDC__
|
||||
#include <stdarg.h>
|
||||
#else
|
||||
#include <varargs.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
|
||||
#include "defs.h"
|
||||
|
@ -300,7 +303,8 @@ static int numutypes; /* Max number of user type pointers */
|
|||
more intuitive, since it can be used for both static and external
|
||||
definitions. */
|
||||
|
||||
static void dwarfwarn (); /* EXFUN breaks with <varargs.h> (FIXME)*/
|
||||
static void
|
||||
EXFUN (dwarfwarn, (char *fmt DOTS));
|
||||
|
||||
static void
|
||||
EXFUN (scan_partial_symbols, (char *thisdie AND char *enddie));
|
||||
|
@ -590,6 +594,26 @@ NOTES
|
|||
information for the DIE where the problem was noticed.
|
||||
*/
|
||||
|
||||
#ifdef __STDC__
|
||||
static void
|
||||
DEFUN(dwarfwarn, (fmt), char *fmt DOTS)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start (ap, fmt);
|
||||
warning_setup ();
|
||||
fprintf (stderr, "DWARF warning (ref 0x%x): ", curdie -> dieref);
|
||||
if (curdie -> at_name)
|
||||
{
|
||||
fprintf (stderr, "'%s': ", curdie -> at_name);
|
||||
}
|
||||
vfprintf (stderr, fmt, ap);
|
||||
fprintf (stderr, "\n");
|
||||
fflush (stderr);
|
||||
va_end (ap);
|
||||
}
|
||||
#else
|
||||
|
||||
static void
|
||||
dwarfwarn (va_alist)
|
||||
va_dcl
|
||||
|
@ -610,7 +634,7 @@ dwarfwarn (va_alist)
|
|||
fflush (stderr);
|
||||
va_end (ap);
|
||||
}
|
||||
|
||||
#endif
|
||||
/*
|
||||
|
||||
LOCAL FUNCTION
|
||||
|
|
59
gdb/symtab.c
59
gdb/symtab.c
|
@ -165,25 +165,25 @@ type_name_no_tag (type)
|
|||
register struct type *type;
|
||||
{
|
||||
register char *name = TYPE_NAME (type);
|
||||
char *strchr ();
|
||||
|
||||
if (name == 0)
|
||||
return 0;
|
||||
|
||||
#if 0
|
||||
switch (TYPE_CODE (type))
|
||||
{
|
||||
case TYPE_CODE_STRUCT:
|
||||
return name + 7;
|
||||
if(!strncmp(name,"struct ",7))
|
||||
return name + 7;
|
||||
else return name;
|
||||
case TYPE_CODE_UNION:
|
||||
if(!strncmp(name,"union ",6))
|
||||
return name + 6;
|
||||
else return name;
|
||||
case TYPE_CODE_ENUM:
|
||||
if(!strncmp(name,"enum ",5))
|
||||
return name + 5;
|
||||
else return name;
|
||||
}
|
||||
#endif
|
||||
|
||||
name = strchr (name, ' ');
|
||||
if (name)
|
||||
return name + 1;
|
||||
|
||||
return TYPE_NAME (type);
|
||||
}
|
||||
|
@ -378,6 +378,31 @@ lookup_enum (name, block)
|
|||
return SYMBOL_TYPE (sym);
|
||||
}
|
||||
|
||||
/* Lookup a template type named "template NAME<TYPE>",
|
||||
visible in lexical block BLOCK. */
|
||||
|
||||
struct type *
|
||||
lookup_template_type (name, type, block)
|
||||
char *name;
|
||||
struct type *type;
|
||||
struct block *block;
|
||||
{
|
||||
struct symbol *sym ;
|
||||
char *nam = (char*) alloca(strlen(name) + strlen(type->name) + 4);
|
||||
strcpy(nam, name);
|
||||
strcat(nam, "<");
|
||||
strcat(nam, type->name);
|
||||
strcat(nam, " >"); /* extra space still introduced in gcc? */
|
||||
|
||||
sym = lookup_symbol (nam, block, VAR_NAMESPACE, 0, (struct symtab **)NULL);
|
||||
|
||||
if (sym == 0)
|
||||
error ("No template type named %s.", name);
|
||||
if (TYPE_CODE (SYMBOL_TYPE (sym)) != TYPE_CODE_STRUCT)
|
||||
error ("This context has class, union or enum %s, not a struct.", name);
|
||||
return SYMBOL_TYPE (sym);
|
||||
}
|
||||
|
||||
/* Given a type TYPE, lookup the type of the component of type named
|
||||
NAME.
|
||||
If NOERR is nonzero, return zero if NAME is not suitably defined. */
|
||||
|
@ -2072,21 +2097,9 @@ decode_line_1 (argptr, funfirstline, default_symtab, default_line)
|
|||
/* Extract the file name. */
|
||||
p1 = p;
|
||||
while (p != *argptr && p[-1] == ' ') --p;
|
||||
copy = (char *) alloca (p - *argptr + 1 + (q1 - q));
|
||||
if (q1 - q)
|
||||
{
|
||||
copy[0] = 'o';
|
||||
copy[1] = 'p';
|
||||
copy[2] = CPLUS_MARKER;
|
||||
bcopy (q, copy + 3, q1-q);
|
||||
copy[3 + (q1-q)] = 0;
|
||||
p = q1;
|
||||
}
|
||||
else
|
||||
{
|
||||
bcopy (*argptr, copy, p - *argptr);
|
||||
copy[p - *argptr] = 0;
|
||||
}
|
||||
copy = (char *) alloca (p - *argptr + 1);
|
||||
bcopy (*argptr, copy, p - *argptr);
|
||||
copy[p - *argptr] = 0;
|
||||
|
||||
/* Find that file's data. */
|
||||
s = lookup_symtab (copy);
|
||||
|
|
Loading…
Reference in New Issue