+ if (n != 1)
+ ASM_OUTPUT_LBE (asm_out_file, line, n);
+}
+
+/* Called at beginning of function (before prologue).
+ Declare function as needed for debugging. */
+
+void
+xcoffout_declare_function (FILE *file, tree decl, const char *name)
+{
+ size_t len;
+
+ if (*name == '*')
+ name++;
+ len = strlen (name);
+ if (name[len - 1] == ']')
+ {
+ char *n = alloca (len - 3);
+ memcpy (n, name, len - 4);
+ n[len - 4] = '\0';
+ name = n;
+ }
+
+ /* Any pending .bi or .ei must occur before the .function pseudo op.
+ Otherwise debuggers will think that the function is in the previous
+ file and/or at the wrong line number. */
+ xcoffout_source_file (file, DECL_SOURCE_FILE (decl), 0);
+ dbxout_symbol (decl, 0);
+
+ /* .function NAME, TOP, MAPPING, TYPE, SIZE
+ 16 and 044 are placeholders for backwards compatibility */
+ fprintf (file, "\t.function .%s,.%s,16,044,FE..%s-.%s\n",
+ name, name, name, name);