15 no_body_regex(std::regex(
".*no body for function '(.*)'.*")),
16 missing_function_regex(
17 std::regex(
".*missing function '(.*)' is ignored.*")),
19 std::regex(
".*recursion is ignored on call to '(.*)'.*")),
20 not_enough_arguments_regex(
21 std::regex(
".*call to '(.*)': not enough arguments.*"))
34 const std::string &message)
43 const std::string &message)
52 const std::string &message)
74 log.error() <<
"No body for '" << it <<
"' during inlining"
89 log.error() <<
"Recursive call to '" << it <<
"' during inlining"
104 log.error() <<
"Missing function '" << it <<
"' during inlining"
113 const int error_code)
119 log.error() <<
"Not enough arguments for '" << it <<
"' during inlining"
std::set< irep_idt > not_enough_arguments_set
void throw_on_recursive_calls(messaget &log, const int error_code)
Throws the given error code if recursive call warnings happend during inlining.
inlining_decoratort(message_handlert &_wrapped)
void throw_on_missing_function(messaget &log, const int error_code)
Throws the given error code if missing function warnings happend during inlining.
std::set< irep_idt > no_body_set
std::regex missing_function_regex
std::regex recursive_call_regex
std::set< irep_idt > missing_function_set
void match_no_body_warning(const std::string &message)
void throw_on_no_body(messaget &log, const int error_code)
Throws the given error code if no body for function warnings happend during inlining.
void match_recursive_call_warning(const std::string &message)
void match_not_enough_arguments_warning(const std::string &message)
std::set< irep_idt > recursive_call_set
void throw_on_not_enough_arguments(messaget &log, const int error_code)
Throws the given error code if not enough arguments warnings happend during inlining.
std::regex not_enough_arguments_regex
void match_missing_function_warning(const std::string &message)
void parse_message(const std::string &message)
Class that provides messages with a built-in verbosity 'level'.