From 27e511e0d56e4968abd1549b50b62071f22a224f Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Sun, 2 Jun 2002 19:06:30 +0000 Subject: [PATCH] diagnostic.h (struct diagnostic_context): Add new member internal_error. * 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. ada/ * misc.c (gnat_init): Adjust setting of internal_error_function. From-SVN: r54179 --- gcc/ChangeLog | 8 ++++++++ gcc/ada/ChangeLog | 4 ++++ gcc/ada/misc.c | 2 +- gcc/diagnostic.c | 18 ++---------------- gcc/diagnostic.h | 6 +++--- 5 files changed, 18 insertions(+), 20 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1bf04eb060a..dc8a45dd7c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2002-06-02 Gabriel Dos Reis + + * 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 * rtl.h (CC0_P): New. diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index b4b6161fbe3..a17ab035798 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2002-06-02 Gabriel Dos Reis + + * misc.c (gnat_init): Adjust setting of internal_error_function. + 2002-06-01 Joseph S. Myers * gnat_ug.texi: Use @ifnottex instead of @ifinfo. diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 63ac00a0e87..3bc01d303aa 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -384,7 +384,7 @@ gnat_init (filename) 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 (); diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 027ea53016b..f276ec0dd1d 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -1236,20 +1236,6 @@ fatal_error VPARAMS ((const char *msgid, ...)) 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, ...)) { @@ -1270,8 +1256,8 @@ 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); diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 925134af48f..3762136d0b6 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -203,6 +203,9 @@ struct diagnostic_context /* 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; }; @@ -275,9 +278,6 @@ extern diagnostic_context *global_dc; 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 *, -- 2.30.2