From: Gabriel Dos Reis Date: Sun, 3 Aug 2003 22:14:47 +0000 (+0000) Subject: opts.c (decode_options): Do language-specific initialization for the global diagnosti... X-Git-Tag: releases/gcc-3.4.0~4411 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21ecc5a77daed79e3860ca1e0a7d5a42c6b7660d;p=thirdparty%2Fgcc.git opts.c (decode_options): Do language-specific initialization for the global diagnostic context. * opts.c (decode_options): Do language-specific initialization for the global diagnostic context. * langhooks-def.h (lhd_initialize_diagnostics): Declare. (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro. (LANG_HOOKS_INITIALIZER): Adjust. * langhooks.h (struct lang_hooks): Add new field initialize_diagnostics. * langhooks.c (lhd_initialize_diagnostics): Define. From-SVN: r70129 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index beffbb95c318..06492d6c019a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,24 @@ +2003-08-03 Gabriel Dos Reis + + * opts.c (decode_options): Do language-specific initialization for + the global diagnostic context. + * langhooks-def.h (lhd_initialize_diagnostics): Declare. + (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro. + (LANG_HOOKS_INITIALIZER): Adjust. + * langhooks.h (struct lang_hooks): Add new field + initialize_diagnostics. + * langhooks.c (lhd_initialize_diagnostics): Define. + +2003-08-03 Gabriel Dos Reis + + * pretty-print.h: Adjust macro definitions. + * pretty-print.c (pp_newline): Rename to pp_base_newline. + (pp_character): Rename to pp_base_character. + (pp_string): Rename to pp_base_string. + * c-pretty-print.c (pp_buffer): Move to pretty-print.h + (pp_newline): Likewise. Adjust. + (pp_c_char): Adjust. + 2003-08-03 Kaveh R. Ghazi * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS, diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index abdf2df3af86..47e8b7209af6 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -79,6 +79,7 @@ extern int lhd_tree_inlining_anon_aggr_type_p (tree); extern int lhd_tree_inlining_start_inlining (tree); extern void lhd_tree_inlining_end_inlining (tree); extern tree lhd_tree_inlining_convert_parm_for_inlining (tree, tree, tree); +extern void lhd_initialize_diagnostics (struct diagnostic_context *); #define LANG_HOOKS_NAME "GNU unknown" #define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier) @@ -87,6 +88,7 @@ extern tree lhd_tree_inlining_convert_parm_for_inlining (tree, tree, tree); #define LANG_HOOKS_PARSE_FILE lhd_do_nothing_i #define LANG_HOOKS_CLEAR_BINDING_STACK lhd_clear_binding_stack #define LANG_HOOKS_INIT_OPTIONS hook_uint_uint_constcharptrptr_0 +#define LANG_HOOKS_INITIALIZE_DIAGNOSTITCS lhd_initialize_diagnostics #define LANG_HOOKS_HANDLE_OPTION hook_int_size_t_constcharptr_int_0 #define LANG_HOOKS_MISSING_ARGUMENT hook_bool_constcharptr_size_t_false #define LANG_HOOKS_POST_OPTIONS lhd_post_options @@ -245,6 +247,7 @@ extern int lhd_tree_dump_type_quals (tree); LANG_HOOKS_IDENTIFIER_SIZE, \ LANG_HOOKS_TREE_SIZE, \ LANG_HOOKS_INIT_OPTIONS, \ + LANG_HOOKS_INITIALIZE_DIAGNOSTITCS, \ LANG_HOOKS_HANDLE_OPTION, \ LANG_HOOKS_MISSING_ARGUMENT, \ LANG_HOOKS_POST_OPTIONS, \ diff --git a/gcc/langhooks.c b/gcc/langhooks.c index 124f38b7aa99..b4c160f25285 100644 --- a/gcc/langhooks.c +++ b/gcc/langhooks.c @@ -479,4 +479,10 @@ write_global_declarations (void) free (vec); } +/* Called to perform language-specific initialization of CTX. */ +void +lhd_initialize_diagnostics (struct diagnostic_context *ctx ATTRIBUTE_UNUSED) +{ +} + #include "gt-langhooks.h" diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 4c43ddc93ea1..fbdaadc61cad 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -202,6 +202,10 @@ struct lang_hooks the language mask to filter the switch array with. */ unsigned int (*init_options) (unsigned int argc, const char **argv); + /* Callback used to perform language-specific initialization for the + global diagnostic context structure. */ + void (*initialize_diagnostics) (struct diagnostic_context *); + /* Handle the switch CODE, which has real type enum opt_code from options.h. If the switch takes an argument, it is passed in ARG which points to permanent storage. The handler is responsible for diff --git a/gcc/opts.c b/gcc/opts.c index de39e5c6c8da..310419327235 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -460,6 +460,8 @@ decode_options (unsigned int argc, const char **argv) /* Perform language-specific options initialization. */ lang_mask = (*lang_hooks.init_options) (argc, argv); + lang_hooks.initialize_diagnostics (global_dc); + /* Scan to see what optimization level has been specified. That will determine the default value of many flags. */ for (i = 1; i < argc; i++)