aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog25
-rw-r--r--gcc/c-family/ChangeLog11
-rw-r--r--gcc/c-family/c-common.c17
-rw-r--r--gcc/c-family/c-common.h5
-rw-r--r--gcc/c-family/c-opts.c2
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/cpp.c15
-rw-r--r--gcc/genmatch.c15
-rw-r--r--gcc/input.c50
-rw-r--r--gcc/opth-gen.awk6
10 files changed, 103 insertions, 50 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6dfc2ef..7260dd7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,28 @@
+2018-10-09 David Malcolm <dmalcolm@redhat.com>
+
+ * genmatch.c (error_cb): Rename to...
+ (diagnostic_cb): ...this, converting int params to enums.
+ (fatal_at): Update for renaming.
+ (warning_at): Likewise.
+ (main): Likewise.
+ * input.c (selftest::ebcdic_execution_charset::apply):
+ Update for renaming of...
+ (selftest::ebcdic_execution_charset::on_error): ...this, renaming
+ to...
+ (selftest::ebcdic_execution_charset::on_diagnostic): ...this,
+ converting level and reason to enums.
+ (class selftest::lexer_error_sink): Rename to...
+ (class selftest::lexer_test_options): ...this, renaming field
+ "m_errors" to "m_diagnostics".
+ (selftest::lexer_test_options::apply): Update for renaming of...
+ (selftest::lexer_test_options::on_error): ...this, renaming to...
+ (selftest::lexer_test_options::on_diagnostic): ...this
+ converting level and reason to enums.
+ (selftest::test_lexer_string_locations_raw_string_unterminated):
+ Update for renamings.
+ * opth-gen.awk (struct cpp_reason_option_codes_t): Use enum for
+ "reason".
+
2018-10-09 Paul A. Clarke <pc@us.ibm.com>
* config.gcc (powerpc*-*-*): Add pmmintrin.h to extra_headers.
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 6307337..8e8005d 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,14 @@
+2018-10-09 David Malcolm <dmalcolm@redhat.com>
+
+ * c-common.c (c_option_controlling_cpp_error): Rename to...
+ (c_option_controlling_cpp_diagnostic): ...this, and convert
+ "reason" from int to enum.
+ (c_cpp_error): Rename to...
+ (c_cpp_diagnostic): ...this, converting level and reason to enums.
+ * c-common.h (c_cpp_error): Rename to...
+ (c_cpp_diagnostic): ...this, converting level and reason to enums.
+ * c-opts.c (c_common_init_options): Update for renaming.
+
2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
PR c/87286
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index c0198e1..2e64a6b 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -6068,7 +6068,7 @@ c_parse_error (const char *gmsgid, enum cpp_ttype token_type,
message, or 0 if none. */
static int
-c_option_controlling_cpp_error (int reason)
+c_option_controlling_cpp_diagnostic (enum cpp_warning_reason reason)
{
const struct cpp_reason_option_codes_t *entry;
@@ -6080,7 +6080,7 @@ c_option_controlling_cpp_error (int reason)
return 0;
}
-/* Callback from cpp_error for PFILE to print diagnostics from the
+/* Callback from cpp_diagnostic for PFILE to print diagnostics from the
preprocessor. The diagnostic is of type LEVEL, with REASON set
to the reason code if LEVEL is represents a warning, at location
RICHLOC unless this is after lexing and the compiler's location
@@ -6089,9 +6089,11 @@ c_option_controlling_cpp_error (int reason)
otherwise. */
bool
-c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
- rich_location *richloc,
- const char *msg, va_list *ap)
+c_cpp_diagnostic (cpp_reader *pfile ATTRIBUTE_UNUSED,
+ enum cpp_diagnostic_level level,
+ enum cpp_warning_reason reason,
+ rich_location *richloc,
+ const char *msg, va_list *ap)
{
diagnostic_info diagnostic;
diagnostic_t dlevel;
@@ -6134,8 +6136,9 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
richloc->set_range (0, input_location, SHOW_RANGE_WITH_CARET);
diagnostic_set_info_translated (&diagnostic, msg, ap,
richloc, dlevel);
- diagnostic_override_option_index (&diagnostic,
- c_option_controlling_cpp_error (reason));
+ diagnostic_override_option_index
+ (&diagnostic,
+ c_option_controlling_cpp_diagnostic (reason));
ret = diagnostic_report_diagnostic (global_dc, &diagnostic);
if (level == CPP_DL_WARNING_SYSHDR)
global_dc->dc_warn_system_headers = save_warn_system_headers;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 9e86876..70b152f 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1000,8 +1000,9 @@ extern void init_c_lex (void);
extern void c_cpp_builtins (cpp_reader *);
extern void c_cpp_builtins_optimize_pragma (cpp_reader *, tree, tree);
-extern bool c_cpp_error (cpp_reader *, int, int, rich_location *,
- const char *, va_list *)
+extern bool c_cpp_diagnostic (cpp_reader *, enum cpp_diagnostic_level,
+ enum cpp_warning_reason, rich_location *,
+ const char *, va_list *)
ATTRIBUTE_GCC_DIAG(5,0);
extern int c_common_has_attribute (cpp_reader *);
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index ec05771..10cb53b 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -224,7 +224,7 @@ c_common_init_options (unsigned int decoded_options_count,
parse_in = cpp_create_reader (c_dialect_cxx () ? CLK_GNUCXX: CLK_GNUC89,
ident_hash, line_table);
cb = cpp_get_callbacks (parse_in);
- cb->error = c_cpp_error;
+ cb->diagnostic = c_cpp_diagnostic;
cpp_opts = cpp_get_options (parse_in);
cpp_opts->dollars_in_ident = DOLLARS_IN_IDENTIFIERS;
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index ab6b09b..0a7e5f5 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2018-10-09 David Malcolm <dmalcolm@redhat.com>
+
+ * cpp.c (gfc_cpp_init_0): Update for renamings.
+ (cb_cpp_error): Rename to...
+ (cb_cpp_diagnostic): ...this, converting level and reason to
+ enums.
+
2018-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/83522
diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c
index 0b3de42..3091eeb 100644
--- a/gcc/fortran/cpp.c
+++ b/gcc/fortran/cpp.c
@@ -142,8 +142,9 @@ static void cb_include (cpp_reader *, source_location, const unsigned char *,
static void cb_ident (cpp_reader *, source_location, const cpp_string *);
static void cb_used_define (cpp_reader *, source_location, cpp_hashnode *);
static void cb_used_undef (cpp_reader *, source_location, cpp_hashnode *);
-static bool cb_cpp_error (cpp_reader *, int, int, rich_location *,
- const char *, va_list *)
+static bool cb_cpp_diagnostic (cpp_reader *, enum cpp_diagnostic_level,
+ enum cpp_warning_reason, rich_location *,
+ const char *, va_list *)
ATTRIBUTE_GCC_DIAG(5,0);
void pp_dir_change (cpp_reader *, const char *);
@@ -504,7 +505,7 @@ gfc_cpp_init_0 (void)
cb->line_change = cb_line_change;
cb->ident = cb_ident;
cb->def_pragma = cb_def_pragma;
- cb->error = cb_cpp_error;
+ cb->diagnostic = cb_cpp_diagnostic;
if (gfc_cpp_option.dump_includes)
cb->include = cb_include;
@@ -1020,9 +1021,11 @@ cb_used_define (cpp_reader *pfile, source_location line ATTRIBUTE_UNUSED,
Returns true if a diagnostic was emitted, false otherwise. */
static bool
-cb_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
- rich_location *richloc,
- const char *msg, va_list *ap)
+cb_cpp_diagnostic (cpp_reader *pfile ATTRIBUTE_UNUSED,
+ enum cpp_diagnostic_level level,
+ enum cpp_warning_reason reason,
+ rich_location *richloc,
+ const char *msg, va_list *ap)
{
diagnostic_info diagnostic;
diagnostic_t dlevel;
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index 5f1691a..62a876d 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -73,8 +73,9 @@ static bool
#if GCC_VERSION >= 4001
__attribute__((format (printf, 5, 0)))
#endif
-error_cb (cpp_reader *, int errtype, int, rich_location *richloc,
- const char *msg, va_list *ap)
+diagnostic_cb (cpp_reader *, enum cpp_diagnostic_level errtype,
+ enum cpp_warning_reason, rich_location *richloc,
+ const char *msg, va_list *ap)
{
const line_map_ordinary *map;
source_location location = richloc->get_loc ();
@@ -122,7 +123,7 @@ fatal_at (const cpp_token *tk, const char *msg, ...)
rich_location richloc (line_table, tk->src_loc);
va_list ap;
va_start (ap, msg);
- error_cb (NULL, CPP_DL_FATAL, 0, &richloc, msg, &ap);
+ diagnostic_cb (NULL, CPP_DL_FATAL, CPP_W_NONE, &richloc, msg, &ap);
va_end (ap);
}
@@ -135,7 +136,7 @@ fatal_at (source_location loc, const char *msg, ...)
rich_location richloc (line_table, loc);
va_list ap;
va_start (ap, msg);
- error_cb (NULL, CPP_DL_FATAL, 0, &richloc, msg, &ap);
+ diagnostic_cb (NULL, CPP_DL_FATAL, CPP_W_NONE, &richloc, msg, &ap);
va_end (ap);
}
@@ -148,7 +149,7 @@ warning_at (const cpp_token *tk, const char *msg, ...)
rich_location richloc (line_table, tk->src_loc);
va_list ap;
va_start (ap, msg);
- error_cb (NULL, CPP_DL_WARNING, 0, &richloc, msg, &ap);
+ diagnostic_cb (NULL, CPP_DL_WARNING, CPP_W_NONE, &richloc, msg, &ap);
va_end (ap);
}
@@ -161,7 +162,7 @@ warning_at (source_location loc, const char *msg, ...)
rich_location richloc (line_table, loc);
va_list ap;
va_start (ap, msg);
- error_cb (NULL, CPP_DL_WARNING, 0, &richloc, msg, &ap);
+ diagnostic_cb (NULL, CPP_DL_WARNING, CPP_W_NONE, &richloc, msg, &ap);
va_end (ap);
}
@@ -5071,7 +5072,7 @@ main (int argc, char **argv)
r = cpp_create_reader (CLK_GNUC99, NULL, line_table);
cpp_callbacks *cb = cpp_get_callbacks (r);
- cb->error = error_cb;
+ cb->diagnostic = diagnostic_cb;
/* Add the build directory to the #include "" search path. */
cpp_dir *dir = XCNEW (cpp_dir);
diff --git a/gcc/input.c b/gcc/input.c
index b4b7136..eeeb11e 100644
--- a/gcc/input.c
+++ b/gcc/input.c
@@ -2116,14 +2116,14 @@ class ebcdic_execution_charset : public lexer_test_options
cpp_opts->narrow_charset = "IBM1047";
cpp_callbacks *callbacks = cpp_get_callbacks (test.m_parser);
- callbacks->error = on_error;
+ callbacks->diagnostic = on_diagnostic;
}
- static bool on_error (cpp_reader *pfile ATTRIBUTE_UNUSED,
- int level ATTRIBUTE_UNUSED,
- int reason ATTRIBUTE_UNUSED,
- rich_location *richloc ATTRIBUTE_UNUSED,
- const char *msgid, va_list *ap ATTRIBUTE_UNUSED)
+ static bool on_diagnostic (cpp_reader *pfile ATTRIBUTE_UNUSED,
+ enum cpp_diagnostic_level level ATTRIBUTE_UNUSED,
+ enum cpp_warning_reason reason ATTRIBUTE_UNUSED,
+ rich_location *richloc ATTRIBUTE_UNUSED,
+ const char *msgid, va_list *ap ATTRIBUTE_UNUSED)
ATTRIBUTE_FPTR_PRINTF(5,0)
{
gcc_assert (s_singleton);
@@ -2153,53 +2153,53 @@ class ebcdic_execution_charset : public lexer_test_options
ebcdic_execution_charset *ebcdic_execution_charset::s_singleton;
-/* A lexer_test_options subclass that records a list of error
+/* A lexer_test_options subclass that records a list of diagnostic
messages emitted by the lexer. */
-class lexer_error_sink : public lexer_test_options
+class lexer_diagnostic_sink : public lexer_test_options
{
public:
- lexer_error_sink ()
+ lexer_diagnostic_sink ()
{
gcc_assert (s_singleton == NULL);
s_singleton = this;
}
- ~lexer_error_sink ()
+ ~lexer_diagnostic_sink ()
{
gcc_assert (s_singleton == this);
s_singleton = NULL;
int i;
char *str;
- FOR_EACH_VEC_ELT (m_errors, i, str)
+ FOR_EACH_VEC_ELT (m_diagnostics, i, str)
free (str);
}
void apply (lexer_test &test) FINAL OVERRIDE
{
cpp_callbacks *callbacks = cpp_get_callbacks (test.m_parser);
- callbacks->error = on_error;
+ callbacks->diagnostic = on_diagnostic;
}
- static bool on_error (cpp_reader *pfile ATTRIBUTE_UNUSED,
- int level ATTRIBUTE_UNUSED,
- int reason ATTRIBUTE_UNUSED,
- rich_location *richloc ATTRIBUTE_UNUSED,
- const char *msgid, va_list *ap)
+ static bool on_diagnostic (cpp_reader *pfile ATTRIBUTE_UNUSED,
+ enum cpp_diagnostic_level level ATTRIBUTE_UNUSED,
+ enum cpp_warning_reason reason ATTRIBUTE_UNUSED,
+ rich_location *richloc ATTRIBUTE_UNUSED,
+ const char *msgid, va_list *ap)
ATTRIBUTE_FPTR_PRINTF(5,0)
{
char *msg = xvasprintf (msgid, *ap);
- s_singleton->m_errors.safe_push (msg);
+ s_singleton->m_diagnostics.safe_push (msg);
return true;
}
- auto_vec<char *> m_errors;
+ auto_vec<char *> m_diagnostics;
private:
- static lexer_error_sink *s_singleton;
+ static lexer_diagnostic_sink *s_singleton;
};
-lexer_error_sink *lexer_error_sink::s_singleton;
+lexer_diagnostic_sink *lexer_diagnostic_sink::s_singleton;
/* Constructor. Override line_table with a new instance based on CASE_,
and write CONTENT to a tempfile. Create a cpp_reader, and use it to
@@ -3413,21 +3413,21 @@ test_lexer_string_locations_raw_string_unterminated (const line_table_case &case
{
const char *content = "R\"ouch()ouCh\" /* etc */";
- lexer_error_sink errors;
- lexer_test test (case_, content, &errors);
+ lexer_diagnostic_sink diagnostics;
+ lexer_test test (case_, content, &diagnostics);
test.m_implicitly_expect_EOF = false;
/* Attempt to parse the raw string. */
const cpp_token *tok = test.get_token ();
ASSERT_EQ (tok->type, CPP_EOF);
- ASSERT_EQ (1, errors.m_errors.length ());
+ ASSERT_EQ (1, diagnostics.m_diagnostics.length ());
/* We expect the message "unterminated raw string"
in the "cpplib" translation domain.
It's not clear that dgettext is available on all supported hosts,
so this assertion is commented-out for now.
ASSERT_STREQ (dgettext ("cpplib", "unterminated raw string"),
- errors.m_errors[0]);
+ diagnostics.m_diagnostics[0]);
*/
}
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk
index c2390de..de2d29f 100644
--- a/gcc/opth-gen.awk
+++ b/gcc/opth-gen.awk
@@ -503,8 +503,10 @@ print "/* Mapping from cpp message reasons to the options that enable them. */"
print "#include <cpplib.h>"
print "struct cpp_reason_option_codes_t"
print "{"
-print " const int reason; /* cpplib message reason. */"
-print " const int option_code; /* gcc option that controls this message. */"
+print " /* cpplib message reason. */"
+print " const enum cpp_warning_reason reason;"
+print " /* gcc option that controls this message. */"
+print " const int option_code;"
print "};"
print ""
print "static const struct cpp_reason_option_codes_t cpp_reason_option_codes[] = {"