analyzer: validate region subclasses
This patch converts region::validate to a vfunc, implementing additional checking per subclass: verifying that various region_id fields within map_region, array_region, stack_region and root_region are valid, rather than just those within the base class. Doing so caught bugs earlier in follow-up work I have on canonicalization and purging of region_model. gcc/analyzer/ChangeLog: * region-model.cc (region::validate): Convert model param from ptr to reference. Update comment to reflect that it's now a vfunc. (map_region::validate): New vfunc implementation. (array_region::validate): New vfunc implementation. (stack_region::validate): New vfunc implementation. (root_region::validate): New vfunc implementation. (region_model::validate): Pass a reference rather than a pointer to the region::validate vfunc. * region-model.h (region::validate): Make virtual. Convert model param from ptr to reference. (map_region::validate): New vfunc decl. (array_region::validate): New vfunc decl. (stack_region::validate): New vfunc decl. (root_region::validate): New vfunc decl.
Showing
Please
register
or
sign in
to comment