gcc/ChangeLog:
PR analyzer/107366
* diagnostic-format-sarif.cc
(sarif_builder::maybe_make_physical_location_object): Gracefully
reject locations with NULL filename.
gcc/testsuite/ChangeLog:
PR analyzer/107366
* gcc.dg/analyzer/sarif-pr107366.c: New test.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
json::object *
sarif_builder::maybe_make_physical_location_object (location_t loc)
{
- if (loc <= BUILTINS_LOCATION)
+ if (loc <= BUILTINS_LOCATION || LOCATION_FILE (loc) == NULL)
return NULL;
json::object *phys_loc_obj = new json::object ();
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-fdiagnostics-format=sarif-file" } */
+
+typedef enum {
+ HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO
+} hwloc_topology_diff_obj_attr_type_t;
+enum { HWLOC_TOPOLOGY_DIFF_OBJ_ATTR } hwloc_apply_diff_one_diff_0_0;
+
+void
+hwloc_apply_diff_one() {
+ switch (hwloc_apply_diff_one_diff_0_0)
+ case HWLOC_TOPOLOGY_DIFF_OBJ_ATTR: {
+ hwloc_topology_diff_obj_attr_type_t obj_attr_2_0_0;
+ switch (obj_attr_2_0_0)
+ case HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO: {
+ unsigned ii = 0;
+ }
+ }
+}
+