https://gcc.gnu.org/g:bf0c6e1d34fd9cab0bef4d260f7e482e5fd4a371
commit r16-1348-gbf0c6e1d34fd9cab0bef4d260f7e482e5fd4a371 Author: David Malcolm <dmalc...@redhat.com> Date: Mon Jun 9 14:15:25 2025 -0400 diagnostics: convert enum logical_location_kind to enum class No functional change intended. gcc/ChangeLog: * diagnostic-format-sarif.cc (maybe_get_sarif_kind): Update for conversion of enum logical_location_kind to enum class. * diagnostic.cc (logical_location_manager::function_p): Likewise. * libgdiagnostics.cc (html-output/missing-semicolon.py::get_kind): Likewise. * logical-location.h (enum logical_location_kind): Convert to... (enum class logical_location_kind): ...this. * selftest-logical-location.cc (test_logical_location_manager::item_from_funcname): Update for conversion of enum logical_location_kind to enum class. * tree-logical-location.cc (tree_logical_location_manager::get_kind): Likewise. Signed-off-by: David Malcolm <dmalc...@redhat.com> Diff: --- gcc/diagnostic-format-sarif.cc | 40 +++++++++++++++++++------------------- gcc/diagnostic.cc | 18 ++++++++--------- gcc/libgdiagnostics.cc | 38 ++++++++++++++++++------------------ gcc/logical-location.h | 42 ++++++++++++++++++++-------------------- gcc/selftest-logical-location.cc | 2 +- gcc/tree-logical-location.cc | 12 ++++++------ 6 files changed, 76 insertions(+), 76 deletions(-) diff --git a/gcc/diagnostic-format-sarif.cc b/gcc/diagnostic-format-sarif.cc index 7dcd126aeb23..853a8333b3cc 100644 --- a/gcc/diagnostic-format-sarif.cc +++ b/gcc/diagnostic-format-sarif.cc @@ -2735,51 +2735,51 @@ maybe_get_sarif_kind (enum logical_location_kind kind) { default: gcc_unreachable (); - case LOGICAL_LOCATION_KIND_UNKNOWN: + case logical_location_kind::unknown: return nullptr; /* Kinds within executable code. */ - case LOGICAL_LOCATION_KIND_FUNCTION: + case logical_location_kind::function: return "function"; - case LOGICAL_LOCATION_KIND_MEMBER: + case logical_location_kind::member: return "member"; - case LOGICAL_LOCATION_KIND_MODULE: + case logical_location_kind::module_: return "module"; - case LOGICAL_LOCATION_KIND_NAMESPACE: + case logical_location_kind::namespace_: return "namespace"; - case LOGICAL_LOCATION_KIND_TYPE: + case logical_location_kind::type: return "type"; - case LOGICAL_LOCATION_KIND_RETURN_TYPE: + case logical_location_kind::return_type: return "returnType"; - case LOGICAL_LOCATION_KIND_PARAMETER: + case logical_location_kind::parameter: return "parameter"; - case LOGICAL_LOCATION_KIND_VARIABLE: + case logical_location_kind::variable: return "variable"; /* Kinds within XML or HTML documents. */ - case LOGICAL_LOCATION_KIND_ELEMENT: + case logical_location_kind::element: return "element"; - case LOGICAL_LOCATION_KIND_ATTRIBUTE: + case logical_location_kind::attribute: return "attribute"; - case LOGICAL_LOCATION_KIND_TEXT: + case logical_location_kind::text: return "text"; - case LOGICAL_LOCATION_KIND_COMMENT: + case logical_location_kind::comment: return "comment"; - case LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION: + case logical_location_kind::processing_instruction: return "processingInstruction"; - case LOGICAL_LOCATION_KIND_DTD: + case logical_location_kind::dtd: return "dtd"; - case LOGICAL_LOCATION_KIND_DECLARATION: + case logical_location_kind::declaration: return "declaration"; /* Kinds within JSON documents. */ - case LOGICAL_LOCATION_KIND_OBJECT: + case logical_location_kind::object: return "object"; - case LOGICAL_LOCATION_KIND_ARRAY: + case logical_location_kind::array: return "array"; - case LOGICAL_LOCATION_KIND_PROPERTY: + case logical_location_kind::property: return "property"; - case LOGICAL_LOCATION_KIND_VALUE: + case logical_location_kind::value: return "value"; } } diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc index 5b8eb7d14042..ab52e34e2fb5 100644 --- a/gcc/diagnostic.cc +++ b/gcc/diagnostic.cc @@ -1059,17 +1059,17 @@ logical_location_manager::function_p (key k) const { default: gcc_unreachable (); - case LOGICAL_LOCATION_KIND_UNKNOWN: - case LOGICAL_LOCATION_KIND_MODULE: - case LOGICAL_LOCATION_KIND_NAMESPACE: - case LOGICAL_LOCATION_KIND_TYPE: - case LOGICAL_LOCATION_KIND_RETURN_TYPE: - case LOGICAL_LOCATION_KIND_PARAMETER: - case LOGICAL_LOCATION_KIND_VARIABLE: + case logical_location_kind::unknown: + case logical_location_kind::module_: + case logical_location_kind::namespace_: + case logical_location_kind::type: + case logical_location_kind::return_type: + case logical_location_kind::parameter: + case logical_location_kind::variable: return false; - case LOGICAL_LOCATION_KIND_FUNCTION: - case LOGICAL_LOCATION_KIND_MEMBER: + case logical_location_kind::function: + case logical_location_kind::member: return true; } } diff --git a/gcc/libgdiagnostics.cc b/gcc/libgdiagnostics.cc index 0040db463dc1..29f63eb720c0 100644 --- a/gcc/libgdiagnostics.cc +++ b/gcc/libgdiagnostics.cc @@ -307,45 +307,45 @@ public: gcc_unreachable (); case DIAGNOSTIC_LOGICAL_LOCATION_KIND_FUNCTION: - return LOGICAL_LOCATION_KIND_FUNCTION; + return logical_location_kind::function; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_MEMBER: - return LOGICAL_LOCATION_KIND_MEMBER; + return logical_location_kind::member; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_MODULE: - return LOGICAL_LOCATION_KIND_MODULE; + return logical_location_kind::module_; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_NAMESPACE: - return LOGICAL_LOCATION_KIND_NAMESPACE; + return logical_location_kind::namespace_; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_TYPE: - return LOGICAL_LOCATION_KIND_TYPE; + return logical_location_kind::type; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_RETURN_TYPE: - return LOGICAL_LOCATION_KIND_RETURN_TYPE; + return logical_location_kind::return_type; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_PARAMETER: - return LOGICAL_LOCATION_KIND_PARAMETER; + return logical_location_kind::parameter; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_VARIABLE: - return LOGICAL_LOCATION_KIND_VARIABLE; + return logical_location_kind::variable; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_ELEMENT: - return LOGICAL_LOCATION_KIND_ELEMENT; + return logical_location_kind::element; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_ATTRIBUTE: - return LOGICAL_LOCATION_KIND_ATTRIBUTE; + return logical_location_kind::attribute; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_TEXT: - return LOGICAL_LOCATION_KIND_TEXT; + return logical_location_kind::text; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_COMMENT: - return LOGICAL_LOCATION_KIND_COMMENT; + return logical_location_kind::comment; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION: - return LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION; + return logical_location_kind::processing_instruction; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_DTD: - return LOGICAL_LOCATION_KIND_DTD; + return logical_location_kind::dtd; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_DECLARATION: - return LOGICAL_LOCATION_KIND_DECLARATION; + return logical_location_kind::declaration; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_OBJECT: - return LOGICAL_LOCATION_KIND_OBJECT; + return logical_location_kind::object; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_ARRAY: - return LOGICAL_LOCATION_KIND_ARRAY; + return logical_location_kind::array; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_PROPERTY: - return LOGICAL_LOCATION_KIND_PROPERTY; + return logical_location_kind::property; case DIAGNOSTIC_LOGICAL_LOCATION_KIND_VALUE: - return LOGICAL_LOCATION_KIND_VALUE; + return logical_location_kind::value; } } diff --git a/gcc/logical-location.h b/gcc/logical-location.h index dba9dc4010bf..3522934a90b4 100644 --- a/gcc/logical-location.h +++ b/gcc/logical-location.h @@ -29,34 +29,34 @@ along with GCC; see the file COPYING3. If not see Roughly corresponds to logicalLocation's "kind" property in SARIF v2.1.0 (section 3.33.7). */ -enum logical_location_kind +enum class logical_location_kind { - LOGICAL_LOCATION_KIND_UNKNOWN, + unknown, /* Kinds within executable code. */ - LOGICAL_LOCATION_KIND_FUNCTION, - LOGICAL_LOCATION_KIND_MEMBER, - LOGICAL_LOCATION_KIND_MODULE, - LOGICAL_LOCATION_KIND_NAMESPACE, - LOGICAL_LOCATION_KIND_TYPE, - LOGICAL_LOCATION_KIND_RETURN_TYPE, - LOGICAL_LOCATION_KIND_PARAMETER, - LOGICAL_LOCATION_KIND_VARIABLE, + function, + member, + module_, + namespace_, + type, + return_type, + parameter, + variable, /* Kinds within XML or HTML documents. */ - LOGICAL_LOCATION_KIND_ELEMENT, - LOGICAL_LOCATION_KIND_ATTRIBUTE, - LOGICAL_LOCATION_KIND_TEXT, - LOGICAL_LOCATION_KIND_COMMENT, - LOGICAL_LOCATION_KIND_PROCESSING_INSTRUCTION, - LOGICAL_LOCATION_KIND_DTD, - LOGICAL_LOCATION_KIND_DECLARATION, + element, + attribute, + text, + comment, + processing_instruction, + dtd, + declaration, /* Kinds within JSON documents. */ - LOGICAL_LOCATION_KIND_OBJECT, - LOGICAL_LOCATION_KIND_ARRAY, - LOGICAL_LOCATION_KIND_PROPERTY, - LOGICAL_LOCATION_KIND_VALUE + object, + array, + property, + value }; /* We want to efficiently support passing around logical locations in the diff --git a/gcc/selftest-logical-location.cc b/gcc/selftest-logical-location.cc index 5f33b48c849f..63b9fb4404c5 100644 --- a/gcc/selftest-logical-location.cc +++ b/gcc/selftest-logical-location.cc @@ -90,7 +90,7 @@ test_logical_location_manager::item_from_funcname (const char *funcname) if (item **slot = m_name_to_item_map.get (funcname)) return *slot; - item *i = new item (LOGICAL_LOCATION_KIND_FUNCTION, funcname); + item *i = new item (logical_location_kind::function, funcname); m_name_to_item_map.put (funcname, i); return i; } diff --git a/gcc/tree-logical-location.cc b/gcc/tree-logical-location.cc index 1b2702fdb8a0..1d0cc5803dd7 100644 --- a/gcc/tree-logical-location.cc +++ b/gcc/tree-logical-location.cc @@ -90,18 +90,18 @@ tree_logical_location_manager::get_kind (key k) const switch (TREE_CODE (node)) { default: - return LOGICAL_LOCATION_KIND_UNKNOWN; + return logical_location_kind::unknown; case FUNCTION_DECL: - return LOGICAL_LOCATION_KIND_FUNCTION; + return logical_location_kind::function; case PARM_DECL: - return LOGICAL_LOCATION_KIND_PARAMETER; + return logical_location_kind::parameter; case VAR_DECL: - return LOGICAL_LOCATION_KIND_VARIABLE; + return logical_location_kind::variable; case NAMESPACE_DECL: - return LOGICAL_LOCATION_KIND_NAMESPACE; + return logical_location_kind::namespace_; case RECORD_TYPE: - return LOGICAL_LOCATION_KIND_TYPE; + return logical_location_kind::type; } }