libabigail
Loading...
Searching...
No Matches
abigail::suppr Namespace Reference

an engine to suppress the parts of the result of comparing two sets of ABI artifacts. More...

Classes

class  file_suppression
 Abstraction of a suppression specification to avoid loading a file. More...
 
class  function_suppression
 Abstraction of a function suppression specification. More...
 
class  negated_suppression_base
 The base class of suppression specifications that are defined by the negation of matching clauses. More...
 
class  negated_type_suppression
 Abstraction of a negated type suppression specification. More...
 
class  suppression_base
 Base type of a direct suppression specifications types. More...
 
class  type_suppression
 Abstraction of a type suppression specification. More...
 
class  variable_suppression
 The abstraction of a variable suppression specification. More...
 

Typedefs

typedef shared_ptr< file_suppressionfile_suppression_sptr
 A convenience typedef for a shared_ptr to file_suppression.
 
typedef shared_ptr< function_suppressionfunction_suppression_sptr
 Convenience typedef for a shared pointer to function_suppression.
 
typedef vector< function_suppression_sptrfunction_suppressions_type
 Convenience typedef for a vector of function_suppression_sptr.
 
typedef shared_ptr< negated_suppression_basenegated_suppression_sptr
 A convenience typedef for a shared pointer to negated_suppression_base.
 
typedef vector< negated_suppression_sptrnegated_suppressions_type
 Convenience typedef for a vector of negated_suppression_sptr.
 
typedef shared_ptr< suppression_basesuppression_sptr
 Convenience typedef for a shared pointer to a suppression.
 
typedef vector< suppression_sptrsuppressions_type
 Convenience typedef for a vector of suppression_sptr.
 
typedef shared_ptr< type_suppressiontype_suppression_sptr
 Convenience typedef for a shared pointer to type_suppression.
 
typedef vector< type_suppression_sptrtype_suppressions_type
 Convenience typedef for vector of type_suppression_sptr.
 
typedef shared_ptr< variable_suppressionvariable_suppression_sptr
 A convenience typedef for a shared pointer to variable_suppression.
 
typedef vector< variable_suppression_sptrvariable_suppressions_type
 A convenience typedef for a vector of variable_suppression_sptr.
 

Functions

bool check_sufficient_props (const char *const *names, size_t count, const ini::config::section &section)
 Check if a section has at least one of the given properties.
 
file_suppression_sptr file_is_suppressed (const string &file_path, const suppressions_type &sprs)
 Test if a given file path is "suppressed" by at least one file suppression specification among a vector of suppression specifications.
 
const char * get_opaque_types_suppr_spec_label ()
 
bool is_data_member_offset_in_range (const var_decl_sptr &dm, const type_suppression::insertion_range_sptr &range, const class_or_union *context)
 Test if a data memer offset is in a given insertion range.
 
bool is_elf_symbol_suppressed (const fe_iface &fe, const elf_symbol_sptr &symbol)
 Test if an ELF symbol is suppressed by at least one of the suppression specifications associated with a given front-end.
 
bool is_elf_symbol_suppressed (const fe_iface &fe, const string &sym_name, elf_symbol::type sym_type)
 Test if an ELF symbol is suppressed by at least one of the suppression specifications associated with a given front-end.
 
file_suppression_sptr is_file_suppression (const suppression_sptr s)
 Test if a given suppression specification is a file suppression specification.
 
type_suppression::insertion_range::fn_call_expr_boundary_sptr is_fn_call_expr_boundary (type_suppression::insertion_range::boundary_sptr b)
 Tests if a given instance of type_suppression::insertion_range::boundary is actually a function call expression boundary.
 
bool is_function_suppressed (const fe_iface &fe, const string &fn_name, const string &fn_linkage_name, bool require_drop_property)
 Test if a function is matched by at least one suppression specification associated with a given front-end.
 
function_suppression_sptr is_function_suppression (const suppression_sptr suppr)
 Test if an instance of suppression is an instance of function_suppression.
 
type_suppression::insertion_range::integer_boundary_sptr is_integer_boundary (type_suppression::insertion_range::boundary_sptr b)
 Tests if a given instance of type_suppression::insertion_range::boundary is actually an integer boundary.
 
type_suppression::insertion_range::named_boundary_sptr is_named_boundary (type_suppression::insertion_range::boundary_sptr b)
 Test if a given instance of type_suppression::insertion_range::boundary is actually a named boundary.
 
bool is_negated_suppression (const suppression_base &s)
 Test if a suppression specification is a negated suppression.
 
const negated_suppression_baseis_negated_suppression (const suppression_base *s)
 Test if a suppression specification is a negated suppression.
 
negated_suppression_sptr is_negated_suppression (const suppression_sptr &s)
 Test if a suppression specification is a negated suppression.
 
bool is_opaque_type_suppr_spec (const suppression_sptr &s)
 Test if a type suppression specification represents a private type suppression automatically generated by libabigail from the user telling us where public headers are.
 
bool is_opaque_type_suppr_spec (const type_suppression &s)
 Test if a type suppression specification represents a private type suppression automatically generated by libabigail from the user telling us where public headers are.
 
bool is_type_suppressed (const fe_iface &fe, const string &type_name, const location &type_location, bool &type_is_opaque, bool require_drop_property)
 Test if a type is matched by at least one suppression specification associated with a given front-end.
 
type_suppression_sptr is_type_suppression (suppression_sptr suppr)
 Test if an instance of suppression is an instance of type_suppression.
 
bool is_variable_suppressed (const fe_iface &fe, const string &var_name, const string &var_linkage_name, bool require_drop_property)
 Test if a variable is matched by at least one suppression specification associated with a given front-end.
 
variable_suppression_sptr is_variable_suppression (const suppression_sptr s)
 Test if an instance of suppression is an instance of variable_suppression.
 
function_suppression::change_kind operator& (function_suppression::change_kind l, function_suppression::change_kind r)
 The bitwise 'and' operator for the enum function_suppression::change_kind.
 
variable_suppression::change_kind operator& (variable_suppression::change_kind l, variable_suppression::change_kind r)
 The bitwise 'and' operator for the enum variable_suppression::change_kind.
 
function_suppression::change_kind operator| (function_suppression::change_kind l, function_suppression::change_kind r)
 The bitwise 'or' operator for the enum function_suppression::change_kind.
 
variable_suppression::change_kind operator| (variable_suppression::change_kind l, variable_suppression::change_kind r)
 The bitwise 'or' operator for the enum variable_suppression::change_kind.
 
void read_suppressions (const string &file_path, suppressions_type &suppressions)
 Read suppressions specifications from an input file on disk.
 
void read_suppressions (std::istream &input, suppressions_type &suppressions)
 Read suppressions specifications from an input stream.
 
bool suppression_can_match (const fe_iface &fe, const suppression_base &s)
 Test if a given suppression specification can match an ABI artifact coming from the corpus being analyzed by a given front-end interface.
 
bool suppression_matches_function_name (const fe_iface &fe, const suppr::function_suppression &s, const string &fn_name)
 Test if a given function is suppressed by a suppression specification.
 
bool suppression_matches_function_name (const suppr::function_suppression &s, const string &fn_name)
 
bool suppression_matches_function_sym_name (const fe_iface &fe, const suppr::function_suppression &s, const string &fn_linkage_name)
 Test if a given function is suppressed by a suppression specification.
 
bool suppression_matches_function_sym_name (const suppr::function_suppression &s, const string &fn_linkage_name)
 
bool suppression_matches_soname (const string &soname, const suppression_base &suppr)
 Test if a given SONAME is matched by a given suppression specification.
 
bool suppression_matches_soname_or_filename (const string &soname, const string &filename, const suppression_base &suppr)
 Test if a given SONAME or file name is matched by a given suppression specification.
 
bool suppression_matches_type (const suppr::type_suppression &s, const string &type_name)
 Test if a type suppression matches a type designated by its fully qualified name.
 
bool suppression_matches_type_location (const type_suppression &s, const location &loc)
 Test if a type suppression matches a source location.
 
bool suppression_matches_type_location (const type_suppression &s, const type_base_sptr &type)
 Test if a type suppression matches a type.
 
bool suppression_matches_type_name (const suppr::type_suppression &s, const scope_decl *type_scope, const type_base_sptr &type)
 Test if a type suppression matches a type in a particular scope.
 
bool suppression_matches_type_name (const type_suppression &s, const string &type_name)
 Test if a type suppression specification matches a type name.
 
bool suppression_matches_type_name_or_location (const fe_iface &fe, const suppr::type_suppression &s, const string &type_name, const location &type_location)
 Test if a suppression specification matches a type designated by its name and source location, in the context of a given front-end.
 
bool suppression_matches_type_name_or_location (const type_suppression &s, const string &type_name, const location &type_location)
 Test if a type suppression matches a type name and location.
 
bool suppression_matches_variable_name (const fe_iface &fe, const suppr::variable_suppression &s, const string &var_name)
 Test if a suppression specification matches a variable of a given name, in the context of a given front-end.
 
bool suppression_matches_variable_name (const suppr::variable_suppression &s, const string &var_name)
 Test if a variable suppression matches a variable denoted by its name.
 
bool suppression_matches_variable_sym_name (const fe_iface &fe, const suppr::variable_suppression &s, const string &var_linkage_name)
 Test if a suppression specification matches a variable which ELF symbol has a given name, in the context of a given front-end.
 
bool suppression_matches_variable_sym_name (const suppr::variable_suppression &s, const string &var_linkage_name)
 Test if a variable suppression matches a variable denoted by its symbol name.
 
bool variable_is_suppressed (const suppr::suppressions_type &supprs, const string &var_name, const string &var_linkage_name, bool require_drop_property)
 Test if a given variable is suppressed by at least one suppression specification among a vector of suppression specifications.
 

Detailed Description

an engine to suppress the parts of the result of comparing two sets of ABI artifacts.

The user specifies the kind of changes between ABI artefact she wants to see suppressed. That suppression specification is done in an INI format.

That INI file is parsed and represented internally using the types that are defined in this namespace.

Typedef Documentation

◆ file_suppression_sptr

A convenience typedef for a shared_ptr to file_suppression.

Definition at line 906 of file abg-suppression.h.

◆ function_suppression_sptr

Convenience typedef for a shared pointer to function_suppression.

Definition at line 528 of file abg-suppression.h.

◆ function_suppressions_type

Convenience typedef for a vector of function_suppression_sptr.

Definition at line 531 of file abg-suppression.h.

◆ negated_suppression_sptr

A convenience typedef for a shared pointer to negated_suppression_base.

Definition at line 168 of file abg-suppression.h.

◆ negated_suppressions_type

Convenience typedef for a vector of negated_suppression_sptr.

Definition at line 171 of file abg-suppression.h.

◆ suppression_sptr

typedef shared_ptr< suppression_base > suppression_sptr

Convenience typedef for a shared pointer to a suppression.

Definition at line 1659 of file abg-fwd.h.

◆ suppressions_type

Convenience typedef for a vector of suppression_sptr.

Definition at line 1662 of file abg-fwd.h.

◆ type_suppression_sptr

Convenience typedef for a shared pointer to type_suppression.

Definition at line 147 of file abg-suppression.h.

◆ type_suppressions_type

Convenience typedef for vector of type_suppression_sptr.

Definition at line 150 of file abg-suppression.h.

◆ variable_suppression_sptr

A convenience typedef for a shared pointer to variable_suppression.

Definition at line 746 of file abg-suppression.h.

◆ variable_suppressions_type

A convenience typedef for a vector of variable_suppression_sptr.

Definition at line 750 of file abg-suppression.h.

Function Documentation

◆ check_sufficient_props()

bool check_sufficient_props ( const char *const * names,
size_t count,
const ini::config::section & section )

Check if a section has at least one of the given properties.

Parameters
namespointer to the start of an array of names.
countnumber of names in the array.
Returns
whether at least of one the properties was found.

Definition at line 74 of file abg-suppression.cc.

◆ file_is_suppressed()

file_suppression_sptr file_is_suppressed ( const string & file_path,
const suppressions_type & sprs )

Test if a given file path is "suppressed" by at least one file suppression specification among a vector of suppression specifications.

Parameters
file_paththe file path to test.
sprsthe vector of suppressions to use to test if one of them at lease matches the file path file_path.
Returns
a pointer to the first instance of file_suppression that matches file_path, or nil if no file suppression matches.

Definition at line 4862 of file abg-suppression.cc.

◆ get_opaque_types_suppr_spec_label()

const char * get_opaque_types_suppr_spec_label ( )
Returns
the name of the artificial private type suppression specification that is auto-generated by libabigail to suppress change reports about types that are not defined in public headers.

Definition at line 4913 of file abg-suppression.cc.

◆ is_data_member_offset_in_range()

bool is_data_member_offset_in_range ( const var_decl_sptr & dm,
const type_suppression::insertion_range_sptr & range,
const class_or_union * context )

Test if a data memer offset is in a given insertion range.

Parameters
dmthe data member to consider.
rangethe insertion range to consider.
theclass (or union) type to consider as the context in which to evaluate the insertion range denoted by range.
Returns
true iff the offset of the data member dm is in the insertion range range in the context of the type denoted by context.

Definition at line 5328 of file abg-suppression.cc.

◆ is_elf_symbol_suppressed() [1/2]

bool is_elf_symbol_suppressed ( const fe_iface & fe,
const elf_symbol_sptr & symbol )

Test if an ELF symbol is suppressed by at least one of the suppression specifications associated with a given front-end.

The function looks for each suppression specification provided to a given libabigail front-end and analyzes them to see if they match a given ELF symbol.

Parameters
fethe front-end to consider.
symbolthe ELF symbol to consider.
Returns
true iff the symbol symbol is matched by at least a suppression specification associated with the front-end fe.

Definition at line 5147 of file abg-suppression.cc.

◆ is_elf_symbol_suppressed() [2/2]

bool is_elf_symbol_suppressed ( const fe_iface & fe,
const string & sym_name,
elf_symbol::type sym_type )

Test if an ELF symbol is suppressed by at least one of the suppression specifications associated with a given front-end.

The function looks for each suppression specification provided to a given libabigail front-end and analyzes them to see if they match a given ELF symbol, designated by its name and kind.

Parameters
fethe front-end to consider.
sym_namethe name of the symbol to consider.
Returns
true iff the symbol denoted by sym_name, of kind sym_type, is matched by at least a suppression specification associated with the front-end fe.

Definition at line 5174 of file abg-suppression.cc.

◆ is_file_suppression()

file_suppression_sptr is_file_suppression ( const suppression_sptr s)

Test if a given suppression specification is a file suppression specification.

Parameters
sthe instance of suppression_base to test.
Returns
the instance of file_suppression that s points to, iff s is an instance of file_suppression. Otherwise, returns nil.

Definition at line 4847 of file abg-suppression.cc.

◆ is_fn_call_expr_boundary()

Tests if a given instance of type_suppression::insertion_range::boundary is actually a function call expression boundary.

Parameters
bthe boundary to test.
Returns
a pointer to the instance of type_suppression::insertion_range::fn_call_expr_boundary if b is actually an function call expression boundary. Otherwise, return a null pointer.

Definition at line 1692 of file abg-suppression.cc.

◆ is_function_suppressed()

bool is_function_suppressed ( const fe_iface & fe,
const string & fn_name,
const string & fn_linkage_name,
bool require_drop_property )

Test if a function is matched by at least one suppression specification associated with a given front-end.

The function is designated by its name and its linkage_name.

Parameters
fethe front-end to consider.
fn_namethe name of the function to consider.
fn_linkage_namethe linkage name of the function to consider.
require_drop_propertyif true, this function requires the suppression specification to contain the "drop" property to match the function.
Returns
true iff the function is matched by at least one suppression specification coming from the front-end.

Definition at line 5206 of file abg-suppression.cc.

◆ is_function_suppression()

function_suppression_sptr is_function_suppression ( const suppression_sptr suppr)

Test if an instance of suppression is an instance of function_suppression.

Parameters
supprthe instance of suppression to test for.
Returns
if suppr is an instance of function_suppression, then return the sub-object of the suppr of type function_suppression, otherwise return a nil pointer.

Definition at line 3377 of file abg-suppression.cc.

◆ is_integer_boundary()

Tests if a given instance of type_suppression::insertion_range::boundary is actually an integer boundary.

Parameters
bthe boundary to test.
Returns
a pointer to the instance of type_suppression::insertion_range::integer_boundary if b is actually an integer boundary. Otherwise, return a null pointer.

Definition at line 1678 of file abg-suppression.cc.

◆ is_named_boundary()

Test if a given instance of type_suppression::insertion_range::boundary is actually a named boundary.

Parameters
bthe boundary to consider.
Returns
the instance of type_suppression::insertion_range::named_boundary if b is a named boundary, or nil.

Definition at line 1704 of file abg-suppression.cc.

◆ is_negated_suppression() [1/3]

bool is_negated_suppression ( const suppression_base & s)

Test if a suppression specification is a negated suppression.

Parameters
sthe suppression to consider.
Returns
true iff s is an instance of negated_suppression_base.

Definition at line 310 of file abg-suppression.cc.

◆ is_negated_suppression() [2/3]

const negated_suppression_base * is_negated_suppression ( const suppression_base * s)

Test if a suppression specification is a negated suppression.

Parameters
sthe suppression to consider.
Returns
true a pointer to the negated_suppression_base which s, or nil if it's not a negated suppression. negated_suppression_base.

Definition at line 332 of file abg-suppression.cc.

◆ is_negated_suppression() [3/3]

negated_suppression_sptr is_negated_suppression ( const suppression_sptr & s)

Test if a suppression specification is a negated suppression.

Parameters
sthe suppression to consider.
Returns
true a pointer to the negated_suppression_base which s, or nil if it's not a negated suppression. negated_suppression_base.

Definition at line 347 of file abg-suppression.cc.

◆ is_opaque_type_suppr_spec() [1/2]

bool is_opaque_type_suppr_spec ( const suppression_sptr & s)

Test if a type suppression specification represents a private type suppression automatically generated by libabigail from the user telling us where public headers are.

Parameters
sthe suppression specification we are looking at.
Returns
true iff s is a private type suppr spec.

Definition at line 4940 of file abg-suppression.cc.

◆ is_opaque_type_suppr_spec() [2/2]

bool is_opaque_type_suppr_spec ( const type_suppression & s)

Test if a type suppression specification represents a private type suppression automatically generated by libabigail from the user telling us where public headers are.

Parameters
sthe suppression specification we are looking at.
Returns
true iff s is a private type suppr spec.

Definition at line 4929 of file abg-suppression.cc.

◆ is_type_suppressed()

bool is_type_suppressed ( const fe_iface & fe,
const string & type_name,
const location & type_location,
bool & type_is_opaque,
bool require_drop_property )

Test if a type is matched by at least one suppression specification associated with a given front-end.

The type is designated by its name and its source location.

Parameters
fethe front-end to consider.
type_namethe name of the type to consider.
type_locationthe source location of the type.
type_is_opaqueoutput parameter. This is set to true if the type was matched by one suppression specification, and if the suppression was for opaque types.
require_drop_propertyif true, this type requires the suppression specification to contain the "drop" property to match the type.
Returns
true iff the type is matched by at least one suppression specification coming from the front-end.

Definition at line 5289 of file abg-suppression.cc.

◆ is_type_suppression()

type_suppression_sptr is_type_suppression ( suppression_sptr suppr)

Test if an instance of suppression is an instance of type_suppression.

Parameters
supprthe instance of suppression to test for.
Returns
if suppr is an instance of type_suppression, then return the sub-object of the suppr of type type_suppression, otherwise return a nil pointer.

Definition at line 1846 of file abg-suppression.cc.

◆ is_variable_suppressed()

bool is_variable_suppressed ( const fe_iface & fe,
const string & var_name,
const string & var_linkage_name,
bool require_drop_property )

Test if a variable is matched by at least one suppression specification associated with a given front-end.

The variable is designated by its name and its linkage_name.

Parameters
fethe front-end to consider.
var_namethe name of the variable to consider.
var_linkage_namethe linkage name of the variable to consider.
require_drop_propertyif true, this variable requires the suppression specification to contain the "drop" property to match the function.
Returns
true iff the variable is matched by at least one suppression specification coming from the front-end.

Definition at line 5246 of file abg-suppression.cc.

◆ is_variable_suppression()

variable_suppression_sptr is_variable_suppression ( const suppression_sptr s)

Test if an instance of suppression is an instance of variable_suppression.

Parameters
supprthe instance of suppression to test for.
Returns
if suppr is an instance of variable_suppression, then return the sub-object of the suppr of type variable_suppression, otherwise return a nil pointer.

Definition at line 4426 of file abg-suppression.cc.

◆ operator&() [1/2]

The bitwise 'and' operator for the enum function_suppression::change_kind.

Parameters
lthe first operand of the 'and' operator.
rthe second operand of the 'and' operator.
Returns
the result of 'and' operation on l and r.

Definition at line 3389 of file abg-suppression.cc.

◆ operator&() [2/2]

The bitwise 'and' operator for the enum variable_suppression::change_kind.

Parameters
lthe first operand of the 'and' operator.
rthe second operand of the 'and' operator.
Returns
the result of 'and' operation on l and r.

Definition at line 4438 of file abg-suppression.cc.

◆ operator|() [1/2]

The bitwise 'or' operator for the enum function_suppression::change_kind.

Parameters
lthe first operand of the 'or' operator.
rthe second operand of the 'or' operator.
Returns
the result of 'or' operation on l and r.

Definition at line 3405 of file abg-suppression.cc.

◆ operator|() [2/2]

The bitwise 'or' operator for the enum variable_suppression::change_kind.

Parameters
lthe first operand of the 'or' operator.
rthe second operand of the 'or' operator.
Returns
the result of 'or' operation on l and r.

Definition at line 4454 of file abg-suppression.cc.

◆ read_suppressions() [1/2]

void read_suppressions ( const string & file_path,
suppressions_type & suppressions )

Read suppressions specifications from an input file on disk.

Parameters
inputthe path to the input file to read from.
suppressionsthe vector of suppressions to append the newly read suppressions to.

Definition at line 477 of file abg-suppression.cc.

◆ read_suppressions() [2/2]

void read_suppressions ( std::istream & input,
suppressions_type & suppressions )

Read suppressions specifications from an input stream.

Parameters
inputthe input stream to read from.
suppressionsthe vector of suppressions to append the newly read suppressions to.

Definition at line 463 of file abg-suppression.cc.

◆ suppression_can_match()

bool suppression_can_match ( const fe_iface & fe,
const suppression_base & s )

Test if a given suppression specification can match an ABI artifact coming from the corpus being analyzed by a given front-end interface.

Parameters
fethe front-end to consider.
sthe suppression speficication to consider.
Returns
true if the suppression specification s CAN patch ABI artifacts coming from the ABI corpus being analyzed by the front-end fe.

Definition at line 4960 of file abg-suppression.cc.

◆ suppression_matches_function_name()

bool suppression_matches_function_name ( const fe_iface & fe,
const suppr::function_suppression & s,
const string & fn_name )

Test if a given function is suppressed by a suppression specification.

Parameters
fethe front-end to consider.
sthe suppression specification to consider.
fn_namethe name of the function to consider.
Returns
true iff the suppression specification s matches the function which name is fn_name.

Definition at line 4992 of file abg-suppression.cc.

◆ suppression_matches_function_sym_name()

bool suppression_matches_function_sym_name ( const fe_iface & fe,
const suppr::function_suppression & s,
const string & fn_linkage_name )

Test if a given function is suppressed by a suppression specification.

Parameters
fethe front-end to consider.
sthe suppression specification to consider.
fn_linkage_namethe linkage name of the function to consider.
Returns
true iff the suppression specification s matches the function which linkage name is fn_linkage_name.

Definition at line 5033 of file abg-suppression.cc.

◆ suppression_matches_soname()

bool suppression_matches_soname ( const string & soname,
const suppression_base & suppr )

Test if a given SONAME is matched by a given suppression specification.

Parameters
sonamethe SONAME to consider.
supprthe suppression specification to consider.
Returns
true iff a given SONAME is matched by a given suppression specification.

Definition at line 4883 of file abg-suppression.cc.

◆ suppression_matches_soname_or_filename()

bool suppression_matches_soname_or_filename ( const string & soname,
const string & filename,
const suppression_base & suppr )

Test if a given SONAME or file name is matched by a given suppression specification.

Parameters
sonamethe SONAME to consider.
filenamethe file name to consider.
supprthe suppression specification to consider.
Returns
true iff either soname or filename is matched by the suppression specification suppr.

Definition at line 4901 of file abg-suppression.cc.

◆ suppression_matches_type()

bool suppression_matches_type ( const suppr::type_suppression & s,
const string & type_name )

Test if a type suppression matches a type designated by its fully qualified name.

Parameters
sthe type suppression to consider.
type_namethe name of the type to consider.
Returns
true iff the suppression s matches the type denoted by name type_name.

Definition at line 3490 of file abg-suppression.cc.

◆ suppression_matches_type_location() [1/2]

bool suppression_matches_type_location ( const type_suppression & s,
const location & loc )

Test if a type suppression matches a source location.

Parameters
sthe type suppression to consider.
locthe location to consider.
Returns
true iff the suppression s matches location loc.

Definition at line 1281 of file abg-suppression.cc.

◆ suppression_matches_type_location() [2/2]

bool suppression_matches_type_location ( const type_suppression & s,
const type_base_sptr & type )

Test if a type suppression matches a type.

Parameters
sthe type suppression to consider.
typethe type to consider.
Returns
true iff the suppression s matches type type.

Definition at line 1325 of file abg-suppression.cc.

◆ suppression_matches_type_name() [1/2]

bool suppression_matches_type_name ( const suppr::type_suppression & s,
const scope_decl * type_scope,
const type_base_sptr & type )

Test if a type suppression matches a type in a particular scope.

Parameters
sthe type suppression to consider.
type_scopethe scope of the type to consider.
typethe type to consider.
Returns
true iff the supression s matches type type in scope type_scope.

Definition at line 1265 of file abg-suppression.cc.

◆ suppression_matches_type_name() [2/2]

bool suppression_matches_type_name ( const type_suppression & s,
const string & type_name )

Test if a type suppression specification matches a type name.

Parameters
sthe type suppression to consider.
type_namethe type name to consider.
Returns
true iff the type designated by its name type_name is matched by the type suppression specification s.

Definition at line 1215 of file abg-suppression.cc.

◆ suppression_matches_type_name_or_location() [1/2]

bool suppression_matches_type_name_or_location ( const fe_iface & fe,
const suppr::type_suppression & s,
const string & type_name,
const location & type_location )

Test if a suppression specification matches a type designated by its name and source location, in the context of a given front-end.

Parameters
fethe front-end to consider.
sthe suppression specification to consider.
type_namethe name of the type to consider.
type_locationthe source location of the type designated by type_name.
Returns
true iff the suppression s matches the type designated by type_name at source location @type_location.

Definition at line 5121 of file abg-suppression.cc.

◆ suppression_matches_type_name_or_location() [2/2]

bool suppression_matches_type_name_or_location ( const type_suppression & s,
const string & type_name,
const location & type_location )

Test if a type suppression matches a type name and location.

Parameters
sthe type suppression to consider.
type_namethe name of the type to consider.
type_locationthe location of the type to consider.
Returns
true iff suppression s matches a type named type_name with a location type_location.

Definition at line 1379 of file abg-suppression.cc.

◆ suppression_matches_variable_name() [1/2]

bool suppression_matches_variable_name ( const fe_iface & fe,
const suppr::variable_suppression & s,
const string & var_name )

Test if a suppression specification matches a variable of a given name, in the context of a given front-end.

Parameters
fethe front-end to consider.
sthe variable suppression specification to consider.
var_namethe name of the variable to consider.
Returns
true iff the suppression specification s matches the variable which name is var_name.

Definition at line 5073 of file abg-suppression.cc.

◆ suppression_matches_variable_name() [2/2]

bool suppression_matches_variable_name ( const suppr::variable_suppression & s,
const string & var_name )

Test if a variable suppression matches a variable denoted by its name.

Parameters
sthe variable suppression to consider.
var_namethe name of the variable to consider.
Returns
true if the variable is matches by the suppression specification.

Definition at line 3421 of file abg-suppression.cc.

◆ suppression_matches_variable_sym_name() [1/2]

bool suppression_matches_variable_sym_name ( const fe_iface & fe,
const suppr::variable_suppression & s,
const string & var_linkage_name )

Test if a suppression specification matches a variable which ELF symbol has a given name, in the context of a given front-end.

Parameters
fethe front-end to consider.
sthe variable suppression specification to consider.
var_linkage_namethe name of the ELF symbol of the variable to consider.
Returns
true iff the suppression specification s matches the variable which ELF symbol name is var_linkage_name.

Definition at line 5096 of file abg-suppression.cc.

◆ suppression_matches_variable_sym_name() [2/2]

bool suppression_matches_variable_sym_name ( const suppr::variable_suppression & s,
const string & var_linkage_name )

Test if a variable suppression matches a variable denoted by its symbol name.

Parameters
sthe variable suppression to consider.
var_linkage_namethe name of the variable to consider.
Returns
true if the variable is matches by the suppression specification.

Definition at line 3455 of file abg-suppression.cc.

◆ variable_is_suppressed()

bool variable_is_suppressed ( const suppr::suppressions_type & supprs,
const string & var_name,
const string & var_linkage_name,
bool require_drop_property )

Test if a given variable is suppressed by at least one suppression specification among a vector of suppression specifications.

Parameters
supprsthe vector of suppression specifications to consider.
var_namethe name of the variable to consider.
var_linkage_namethe linkage name of the variable to consider.
require_drop_propertyif yes, then only suppression specifications that require that the variable be dropped from the internal representation are taking into account.
Returns
true if there is at least one suppression specification in supprs which matches a variable named var_name, OR a variable which linkage name is var_linkage_name.

Definition at line 4664 of file abg-suppression.cc.