+2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.h (struct diagnostic_context): Add new member
+ internal_error.
+ (internal_error_function): Remove declaration.
+ * diagnostic.c (internal_error_function): Remove definition..
+ (internal_error): Adjust use.
+
2002-06-02 Richard Henderson <rth@redhat.com>
* rtl.h (CC0_P): New.
+2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * misc.c (gnat_init): Adjust setting of internal_error_function.
+
2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
* gnat_ug.texi: Use @ifnottex instead of @ifinfo.
gnat_argc++;
gnat_argv[gnat_argc] = 0;
- set_internal_error_function (internal_error_function);
+ global_dc->internal_error = &internal_error_function;
/* Show that REFERENCE_TYPEs are internal and should be Pmode. */
internal_reference_types ();
exit (FATAL_EXIT_CODE);
}
-/* Report a compiler error at the current line number. Allow a front end to
- intercept the message. */
-
-static void (*internal_error_function) PARAMS ((const char *, va_list *));
-
-/* Set the function to call when a compiler error occurs. */
-
-void
-set_internal_error_function (f)
- void (*f) PARAMS ((const char *, va_list *));
-{
- internal_error_function = f;
-}
-
void
internal_error VPARAMS ((const char *msgid, ...))
{
}
#endif
- if (internal_error_function != 0)
- (*internal_error_function) (_(msgid), &ap);
+ if (global_dc->internal_error != 0)
+ (*global_dc->internal_error) (_(msgid), &ap);
set_diagnostic_context
(&dc, msgid, &ap, input_filename, lineno, /* warn = */0);
/* This function is called after the diagnostic message is printed. */
void (*end_diagnostic) PARAMS ((output_buffer *, diagnostic_context *));
+ /* Client hook to report an internal error. */
+ void (*internal_error) PARAMS ((const char *, va_list *));
+
/* Hook for front-end extensions. */
void *x_data;
};
extern void set_diagnostic_context PARAMS ((diagnostic_context *,
const char *, va_list *,
const char *, int, int));
-extern void set_internal_error_function PARAMS ((void (*)
- PARAMS ((const char *,
- va_list *))));
extern void report_diagnostic PARAMS ((diagnostic_context *));
extern void diagnostic_initialize PARAMS ((diagnostic_context *));
extern void init_output_buffer PARAMS ((output_buffer *,