22 const std::string &src,
30 if(src[0]==
'L' || src[0]==
'u' || src[0]==
'U')
35 std::basic_string<char32_t> value =
47 else if(value.size()>=2 && value.size()<=4)
53 for(
unsigned i=0; i<value.size(); i++)
65 "wide literals with " + std::to_string(value.size()) +
66 " characters are not supported",
84 else if(value.size()>=2 && value.size()<=4)
88 for(
unsigned i=0; i<value.size(); i++)
100 "literals with " + std::to_string(value.size()) +
101 " characters are not supported",
signedbv_typet signed_int_type()
bitvector_typet char_type()
bitvector_typet wchar_t_type()
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Base class for all expressions.
source_locationt & add_source_location()
Thrown when we can't handle something in an input source file.
The type of an expression, extends irept.
exprt convert_character_literal(const std::string &src, bool force_integer_type, const source_locationt &source_location)
#define CHECK_RETURN(CONDITION)
#define PRECONDITION(CONDITION)
std::basic_string< char32_t > unescape_wide_string(const std::string &src)
std::string unescape_string(const std::string &src)
ANSI-C Language Conversion.