/* Output xcoff-format symbol table information from GNU compiler.
Copyright (C) 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
- 2007 Free Software Foundation, Inc.
+ 2007, 2008 Free Software Foundation, Inc.
This file is part of GCC.
#include "output.h"
#include "ggc.h"
#include "target.h"
+#include "debug.h"
#ifdef XCOFF_DEBUGGING_INFO
/* ??? Should also handle built-in C++ and Obj-C types. There perhaps
aren't any that C doesn't already have. */
-};
+};
/* Returns an XCOFF fundamental type number for DECL (assumed to be a
TYPE_DECL), or 0 if dbxout.c should assign a type number normally. */
if (xcoff_current_include_file)
{
fprintf (file, "\t.ei\t");
- output_quoted_string (file, xcoff_current_include_file);
+ output_quoted_string (file,
+ remap_debug_filename (xcoff_current_include_file));
fprintf (file, "\n");
xcoff_current_include_file = NULL;
}
if (strcmp (main_input_filename, filename) || inline_p)
{
fprintf (file, "\t.bi\t");
- output_quoted_string (file, filename);
+ output_quoted_string (file, remap_debug_filename (filename));
fprintf (file, "\n");
xcoff_current_include_file = filename;
}
/* Output a line number symbol entry for location (FILENAME, LINE). */
void
-xcoffout_source_line (unsigned int line, const char *filename)
+xcoffout_source_line (unsigned int line, const char *filename,
+ int discriminator ATTRIBUTE_UNUSED,
+ bool is_stmt ATTRIBUTE_UNUSED)
{
bool inline_p = (strcmp (xcoff_current_function_file, filename) != 0
|| (int) line < xcoff_begin_function_line);
len = strlen (name);
if (name[len - 1] == ']')
{
- char *n = alloca (len - 3);
+ char *n = XALLOCAVEC (char, len - 3);
memcpy (n, name, len - 4);
n[len - 4] = '\0';
name = n;