28 for(
unsigned i=0; i<src.size(); i++)
32 if(
ch==
'u' ||
ch==
'U')
34 else if(
ch==
'l' ||
ch==
'L')
36 else if(
ch==
'i' ||
ch==
'I')
41 if((i+1)<src.size() &&
isdigit(src[i+1]))
46 else if(
ch==
'j' ||
ch==
'J')
52 if(src.size()>=2 && src[0]==
'0' &&
tolower(src[1])==
'x')
59 else if(src.size()>=2 && src[0]==
'0' &&
tolower(src[1])==
'b')
67 else if(src.size()>=2 && src[0]==
'0' &&
isdigit(src[1]))
107 #define FITS(width, signed) \
108 ((signed?!is_unsigned:(is_unsigned || is_hex_or_oct_or_bin)) && \
109 (power(2, signed?width-1:width)>value_abs))
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Base class of fixed-width bit-vector types.
Complex constructor from a pair of numbers.
Complex numbers made of pair of given subtype.
struct configt::ansi_ct ansi_c
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
void set(const irep_idt &name, const irep_idt &value)
#define FITS(width, signed)
exprt convert_integer_literal(const std::string &src)
const mp_integer string2integer(const std::string &n, unsigned base)
API to expression classes.
unsigned unsafe_string2unsigned(const std::string &str, int base)
bool is_signed(const typet &t)
Convenience function – is the type signed?
bool is_unsigned(const typet &t)
Convenience function – is the type unsigned?