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 <dmalcolm@redhat.com>
This commit is contained in:
David Malcolm
2025-06-09 14:15:25 -04:00
parent 639a147414
commit bf0c6e1d34
6 changed files with 76 additions and 76 deletions

View File

@@ -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";
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;
}
}