AutosarC++19_03-A12.4.1

Destructor of a base class shall be public virtual, public override or protected non-virtual

Required inputs: IR

See Also
Rule AutosarC++19_03-A12.4.1

Possible Messages

Key

Text

Severity

Disabled

base_class_destructor

Destructor of a base class shall be public virtual, public override or protected non-virtual.

None

False

Options

allowed_inheriting_classes

allowed_inheriting_classes

Type: set[bauhaus.analysis.config.QualifiedName]

Default: {'std::_Compressed_pair', 'std::__compressed_pair_elem', 'std::__detail::_Hashtable_ebo_helper', 'std::__libcpp_compressed_pair_imp', 'std::__map_value_compare', 'std::__unordered_map_hasher'}

A set of full qualified type names that are ignored when determining whether a class is a base class or not. This is mainly a workaround for some libc++ implementation details: The standard library uses private inheritance from empty base classes to implement EBO (Empty Base Optimization) for some of its data structures.