summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-03 22:14:47 +0000
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-03 22:14:47 +0000
commitf63da8d393e342c83d233886c58d2de39249a8a6 (patch)
tree29df02f871698c716e4d5eefae48e0e4cf22f599 /gcc
parent76a6451b75db81811cf67469d96f5bd925ec8555 (diff)
downloadgcc-f63da8d393e342c83d233886c58d2de39249a8a6.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70129 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog21
-rw-r--r--gcc/langhooks-def.h3
-rw-r--r--gcc/langhooks.c6
-rw-r--r--gcc/langhooks.h4
-rw-r--r--gcc/opts.c2
5 files changed, 36 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index beffbb95c31..06492d6c019 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,24 @@
+2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * 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 <gdr@integrable-solutions.net>
+
+ * 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 <ghazi@caip.rutgers.edu>
* builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h
index abdf2df3af8..47e8b7209af 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 124f38b7aa9..b4c160f2528 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 4c43ddc93ea..fbdaadc61ca 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 de39e5c6c8d..31041932723 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++)