diff options
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/ChangeLog | 34 | ||||
-rw-r--r-- | gcc/rust/backend/rust-tree.cc | 12 | ||||
-rw-r--r-- | gcc/rust/backend/rust-tree.h | 6 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-expr.cc | 4 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-ice-finalizer.cc | 10 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-ice-finalizer.h | 6 | ||||
-rw-r--r-- | gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 4 | ||||
-rw-r--r-- | gcc/rust/rust-diagnostics.cc | 10 |
8 files changed, 61 insertions, 25 deletions
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog index 2a5219d..f103c7e 100644 --- a/gcc/rust/ChangeLog +++ b/gcc/rust/ChangeLog @@ -1,3 +1,37 @@ +2025-07-25 David Malcolm <dmalcolm@redhat.com> + + * resolve/rust-ice-finalizer.cc: Update usage of "diagnostic_info" + to explicitly refer to "diagnostics::diagnostic_info". + * resolve/rust-ice-finalizer.h: Likewise. + +2025-07-25 David Malcolm <dmalcolm@redhat.com> + + * backend/rust-tree.cc: Update for diagnostic_t becoming + enum class diagnostics::kind. + * backend/rust-tree.h: Likewise. + * resolve/rust-ast-resolve-expr.cc: Likewise. + * resolve/rust-ice-finalizer.cc: Likewise. + * resolve/rust-ice-finalizer.h: Likewise. + * resolve/rust-late-name-resolver-2.0.cc: Likewise. + +2025-07-25 David Malcolm <dmalcolm@redhat.com> + + * resolve/rust-ast-resolve-expr.cc: Update for diagnostic_text_finalizer + becoming diagnostics::text_finalizer. + * resolve/rust-late-name-resolver-2.0.cc: Likewise. + +2025-07-25 David Malcolm <dmalcolm@redhat.com> + + * resolve/rust-ice-finalizer.cc: Update for move of diagnostics + output formats into namespace "diagnostics" as "sinks". + * resolve/rust-ice-finalizer.h: Likewise. + +2025-07-25 David Malcolm <dmalcolm@redhat.com> + + * rust-diagnostics.cc: Update #include for move of + "diagnostic-metadata.h" to "diagnostics/metadata.h", and update + for move of diagnostic_metadata to diagnostics::metadata. + 2025-06-26 Martin Jambor <mjambor@suse.cz> * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc diff --git a/gcc/rust/backend/rust-tree.cc b/gcc/rust/backend/rust-tree.cc index 6cba04b..2302ffb 100644 --- a/gcc/rust/backend/rust-tree.cc +++ b/gcc/rust/backend/rust-tree.cc @@ -3848,16 +3848,18 @@ strip_top_quals (tree t) /* Print an error message for invalid use of an incomplete type. VALUE is the expression that was used (or 0 if that isn't known) and TYPE is the type that was invalid. DIAG_KIND indicates the - type of diagnostic (see diagnostic.def). */ + type of diagnostic (see diagnostics/kinds.def). */ void cxx_incomplete_type_diagnostic (location_t loc, const_tree value, - const_tree type, diagnostic_t diag_kind) + const_tree type, + enum diagnostics::kind diag_kind) { // bool is_decl = false, complained = false; - gcc_assert (diag_kind == DK_WARNING || diag_kind == DK_PEDWARN - || diag_kind == DK_ERROR); + gcc_assert (diag_kind == diagnostics::kind::warning + || diag_kind == diagnostics::kind::pedwarn + || diag_kind == diagnostics::kind::error); /* Avoid duplicate error message. */ if (TREE_CODE (type) == ERROR_MARK) @@ -5131,7 +5133,7 @@ complete_type_or_maybe_complain (tree type, tree value, tsubst_flags_t complain) else if (!COMPLETE_TYPE_P (type)) { if (complain & tf_error) - cxx_incomplete_type_diagnostic (value, type, DK_ERROR); + cxx_incomplete_type_diagnostic (value, type, diagnostics::kind::error); note_failed_type_completion_for_satisfaction (type); return NULL_TREE; } diff --git a/gcc/rust/backend/rust-tree.h b/gcc/rust/backend/rust-tree.h index bb99684..3630b0e 100644 --- a/gcc/rust/backend/rust-tree.h +++ b/gcc/rust/backend/rust-tree.h @@ -3137,7 +3137,7 @@ extern bool reject_gcc_builtin (const_tree, location_t = UNKNOWN_LOCATION); extern tree resolve_nondeduced_context (tree, tsubst_flags_t); extern void cxx_incomplete_type_diagnostic (location_t, const_tree, const_tree, - diagnostic_t); + enum diagnostics::kind); extern void cxx_incomplete_type_error (location_t, const_tree, const_tree); @@ -3430,7 +3430,7 @@ null_node_p (const_tree expr) inline void cxx_incomplete_type_diagnostic (const_tree value, const_tree type, - diagnostic_t diag_kind) + enum diagnostics::kind diag_kind) { cxx_incomplete_type_diagnostic (rs_expr_loc_or_input_loc (value), value, type, diag_kind); @@ -3439,7 +3439,7 @@ cxx_incomplete_type_diagnostic (const_tree value, const_tree type, inline void cxx_incomplete_type_error (const_tree value, const_tree type) { - cxx_incomplete_type_diagnostic (value, type, DK_ERROR); + cxx_incomplete_type_diagnostic (value, type, diagnostics::kind::error); } extern location_t diff --git a/gcc/rust/resolve/rust-ast-resolve-expr.cc b/gcc/rust/resolve/rust-ast-resolve-expr.cc index 6242235..5524e18 100644 --- a/gcc/rust/resolve/rust-ast-resolve-expr.cc +++ b/gcc/rust/resolve/rust-ast-resolve-expr.cc @@ -129,8 +129,8 @@ ResolveExpr::visit (AST::IdentifierExpr &expr) resolve. Emit a funny ICE. We set the finalizer to our custom one, and use the lower-level emit_diagnostic () instead of the more common internal_error_no_backtrace () in order to pass our locus. */ - diagnostic_text_finalizer (global_dc) = funny_ice_text_finalizer; - emit_diagnostic (DK_ICE_NOBT, expr.get_locus (), -1, + diagnostics::text_finalizer (global_dc) = funny_ice_text_finalizer; + emit_diagnostic (diagnostics::kind::ice_nobt, expr.get_locus (), -1, "are you trying to break %s? how dare you?", expr.as_string ().c_str ()); } diff --git a/gcc/rust/resolve/rust-ice-finalizer.cc b/gcc/rust/resolve/rust-ice-finalizer.cc index bd4763f..79a06c3 100644 --- a/gcc/rust/resolve/rust-ice-finalizer.cc +++ b/gcc/rust/resolve/rust-ice-finalizer.cc @@ -22,12 +22,12 @@ namespace Rust { namespace Resolver { void ATTRIBUTE_NORETURN -funny_ice_text_finalizer (diagnostic_text_output_format &text_output, - const diagnostic_info *diagnostic, - diagnostic_t diag_kind) +funny_ice_text_finalizer (diagnostics::text_sink &text_output, + const diagnostics::diagnostic_info *diagnostic, + enum diagnostics::kind diag_kind) { - gcc_assert (diag_kind == DK_ICE_NOBT); - default_diagnostic_text_finalizer (text_output, diagnostic, diag_kind); + gcc_assert (diag_kind == diagnostics::kind::ice_nobt); + diagnostics::default_text_finalizer (text_output, diagnostic, diag_kind); fnotice (stderr, "You have broken GCC Rust. This is a feature.\n"); exit (ICE_EXIT_CODE); } diff --git a/gcc/rust/resolve/rust-ice-finalizer.h b/gcc/rust/resolve/rust-ice-finalizer.h index 85ab88f..5120176 100644 --- a/gcc/rust/resolve/rust-ice-finalizer.h +++ b/gcc/rust/resolve/rust-ice-finalizer.h @@ -55,9 +55,9 @@ namespace Resolver { the default bug reporting instructions, as there is no bug to report. */ void ATTRIBUTE_NORETURN -funny_ice_text_finalizer (diagnostic_text_output_format &text_output, - const diagnostic_info *diagnostic, - diagnostic_t diag_kind); +funny_ice_text_finalizer (diagnostics::text_sink &text_output, + const diagnostics::diagnostic_info *diagnostic, + enum diagnostics::kind diag_kind); } // namespace Resolver } // namespace Rust diff --git a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc index 6ec0422..a15e17f 100644 --- a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc @@ -375,8 +375,8 @@ Late::visit (AST::IdentifierExpr &expr) } else if (funny_error) { - diagnostic_text_finalizer (global_dc) = Resolver::funny_ice_text_finalizer; - emit_diagnostic (DK_ICE_NOBT, expr.get_locus (), -1, + diagnostics::text_finalizer (global_dc) = Resolver::funny_ice_text_finalizer; + emit_diagnostic (diagnostics::kind::ice_nobt, expr.get_locus (), -1, "are you trying to break %s? how dare you?", expr.as_string ().c_str ()); } diff --git a/gcc/rust/rust-diagnostics.cc b/gcc/rust/rust-diagnostics.cc index 0c0ef6e..702da71 100644 --- a/gcc/rust/rust-diagnostics.cc +++ b/gcc/rust/rust-diagnostics.cc @@ -22,7 +22,7 @@ #include "rust-diagnostics.h" #include "options.h" -#include "diagnostic-metadata.h" +#include "diagnostics/metadata.h" static std::string mformat_value () @@ -192,7 +192,7 @@ rust_error_at (const location_t location, const char *fmt, ...) va_end (ap); } -class rust_error_code_rule : public diagnostic_metadata::rule +class rust_error_code_rule : public diagnostics::metadata::rule { public: rust_error_code_rule (const ErrorCode code) : m_code (code) {} @@ -237,7 +237,7 @@ rust_be_error_at (const location_t location, const ErrorCode code, const std::string &errmsg) { rich_location gcc_loc (line_table, location); - diagnostic_metadata m; + diagnostics::metadata m; rust_error_code_rule rule (code); m.add_rule (rule); error_meta (&gcc_loc, m, "%s", errmsg.c_str ()); @@ -260,7 +260,7 @@ rust_be_error_at (const rich_location &location, const ErrorCode code, { /* TODO: 'error_at' would like a non-'const' 'rich_location *'. */ rich_location &gcc_loc = const_cast<rich_location &> (location); - diagnostic_metadata m; + diagnostics::metadata m; rust_error_code_rule rule (code); m.add_rule (rule); error_meta (&gcc_loc, m, "%s", errmsg.c_str ()); @@ -281,7 +281,7 @@ void rust_be_error_at (rich_location *richloc, const ErrorCode code, const std::string &errmsg) { - diagnostic_metadata m; + diagnostics::metadata m; rust_error_code_rule rule (code); m.add_rule (rule); error_meta (richloc, m, "%s", errmsg.c_str ()); |