From 21ecc5a77daed79e3860ca1e0a7d5a42c6b7660d Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Sun, 3 Aug 2003 22:14:47 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 21 +++++++++++++++++++++ gcc/langhooks-def.h | 3 +++ gcc/langhooks.c | 6 ++++++ gcc/langhooks.h | 4 ++++ gcc/opts.c | 2 ++ 5 files changed, 36 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index beffbb9..06492d6 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 abdf2df..47e8b72 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 124f38b..b4c160f 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 4c43ddc..fbdaadc 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 de39e5c..3104193 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++) -- 2.7.4