PR analyzer/93212 reports an ICE when attempting to use -fanalyzer
on a C++ source file. That isn't supported yet, but the fix is
trivial (handling METHOD_TYPE as well as FUNCTION_TYPE).
gcc/analyzer/ChangeLog:
PR analyzer/93212
* region-model.cc (make_region_for_type): Use
FUNC_OR_METHOD_TYPE_P rather than comparing against FUNCTION_TYPE.
* region-model.h (function_region::function_region): Likewise.
+2020-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/93212
+ * region-model.cc (make_region_for_type): Use
+ FUNC_OR_METHOD_TYPE_P rather than comparing against FUNCTION_TYPE.
+ * region-model.h (function_region::function_region): Likewise.
+
2020-01-14 David Malcolm <dmalcolm@redhat.com>
* program-state.cc (sm_state_map::clone_with_remapping): Copy
if (TREE_CODE (type) == UNION_TYPE)
return new union_region (parent_rid, type);
- if (TREE_CODE (type) == FUNCTION_TYPE)
+ if (FUNC_OR_METHOD_TYPE_P (type))
return new function_region (parent_rid, type);
/* If we have a void *, make a new symbolic region. */
function_region (region_id parent_rid, tree type)
: map_region (parent_rid, type)
{
- gcc_assert (TREE_CODE (type) == FUNCTION_TYPE);
+ gcc_assert (FUNC_OR_METHOD_TYPE_P (type));
}
function_region (const function_region &other)
: map_region (other)