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