Go to the documentation of this file.
   11 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS 
   20 #define CALL_ON_TYPE(type_type)                                                \ 
   21   C<typet, type_type>()(type, std::forward<Args>(args)...) 
   23 template <
template <
typename, 
typename> 
class C, 
typename... Args>
 
   26   if(type.
id() == ID_bv)
 
   30   else if(type.
id() == ID_unsignedbv)
 
   34   else if(type.
id() == ID_signedbv)
 
   38   else if(type.
id() == ID_fixedbv)
 
   42   else if(type.
id() == ID_floatbv)
 
   46   else if(type.
id() == ID_pointer)
 
   53   else if(type.
id() == ID_c_bool)
 
   57   else if(type.
id() == ID_array)
 
   63 #ifdef REPORT_UNIMPLEMENTED_TYPE_CHECKS 
   64     std::cerr << 
"Unimplemented well-formedness check for type with id: " 
   82   call_on_type<call_checkt>(type, vm);
 
   98   call_on_type<call_validatet>(type, ns, vm);
 
  114   call_on_type<call_validate_fullt>(type, ns, vm);
 
  
 
#define CALL_ON_TYPE(type_type)
void validate_full_type(const typet &type, const namespacet &ns, const validation_modet vm)
Check that the given type is well-formed (full check, including checks of subtypes)
The type of an expression, extends irept.
Fixed-width bit-vector with IEEE floating-point interpretation.
Fixed-width bit-vector with unsigned binary interpretation.
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
void call_on_type(const typet &type, Args &&... args)
void check_type(const typet &type, const validation_modet vm)
Check that the given type is well-formed (shallow checks only, i.e., subtypes are not checked)
Fixed-width bit-vector with two's complement interpretation.
const std::string & id_string() const
const irep_idt & id() const
Fixed-width bit-vector with signed fixed-point interpretation.
void validate_type(const typet &type, const namespacet &ns, const validation_modet vm)
Check that the given type is well-formed, assuming that its subtypes have already been checked for we...
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
bool get_bool(const irep_idt &name) const
Fixed-width bit-vector without numerical interpretation.