/* ieee.c -- Read and write IEEE-695 debugging information.
- Copyright 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007,
- 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1996-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
This file is part of GNU Binutils.
{
debug_type return_type;
const debug_type *arg_types;
- bfd_boolean varargs;
+ bfd_boolean varargs = FALSE;
if (debug_get_type_kind (dhandle, pv->type)
!= DEBUG_KIND_FUNCTION)
const char *backslash;
#endif
char *c, *s;
- unsigned int nindx;
if (info->filename != NULL)
{
|| ! ieee_write_id (info, info->modname))
return FALSE;
- nindx = info->name_indx;
++info->name_indx;
if (! ieee_change_buffer (info, &info->vars)
|| ! ieee_write_byte (info, (int) ieee_bb_record_enum)
if (! ieee_change_buffer (info, &info->linenos)
|| ! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
- if (strcmp (info->filename, info->lineno_filename) != 0)
+ if (filename_cmp (info->filename, info->lineno_filename) != 0)
{
/* We were not in the main file. We just closed the
included line number block, and now we must close the
|| ! ieee_write_id (info, "")
|| ! ieee_write_number (info, 0)
|| ! ieee_write_id (info, "GNU objcopy"))
- return FALSE;
+ {
+ free (c);
+ return FALSE;
+ }
free (c);
}
|| ! ieee_write_number (info, 0)
|| ! ieee_write_number (info, retindx)
|| ! ieee_write_number (info, (bfd_vma) argcount + (varargs ? 1 : 0)))
- return FALSE;
+ {
+ free (args);
+ return FALSE;
+ }
if (argcount > 0)
{
for (i = 0; i < argcount; i++)
static bfd_boolean
ieee_offset_type (void *p)
{
- struct ieee_handle *info = (struct ieee_handle *) p;
- unsigned int targetindx, baseindx;
-
- targetindx = ieee_pop_type (info);
- baseindx = ieee_pop_type (info);
-
/* FIXME: The MRI C++ compiler does not appear to generate any
useful type information about an offset type. It just records a
pointer to member as an integer. The MRI/HP IEEE spec does
|| ! ieee_write_id (info, fname)
|| ! ieee_write_number (info, bindx)
|| ! ieee_write_number (info, bitpos / 8))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
flags = 0;
}
|| ! ieee_write_atn65 (info, nindx, bname)
|| ! ieee_write_asn (info, nindx, 0)
|| ! ieee_write_atn65 (info, nindx, fname))
- return FALSE;
+ {
+ free (fname);
+ return FALSE;
+ }
info->type_stack->type.classdef->pmisccount += 5;
free (fname);
info->lineno_filename = info->filename;
}
- if (strcmp (info->pending_lineno_filename, info->lineno_filename) != 0)
+ if (filename_cmp (info->pending_lineno_filename,
+ info->lineno_filename) != 0)
{
- if (strcmp (info->filename, info->lineno_filename) != 0)
+ if (filename_cmp (info->filename, info->lineno_filename) != 0)
{
/* We were not in the main file. Close the block for the
included file. */
if (! ieee_write_byte (info, (int) ieee_be_record_enum))
return FALSE;
- if (strcmp (info->filename, info->pending_lineno_filename) == 0)
+ if (filename_cmp (info->filename,
+ info->pending_lineno_filename) == 0)
{
/* We need a new NN record, and we aren't about to
output one. */
return FALSE;
}
}
- if (strcmp (info->filename, info->pending_lineno_filename) != 0)
+ if (filename_cmp (info->filename,
+ info->pending_lineno_filename) != 0)
{
/* We are not changing to the main file. Open a block for
the new included file. */