27 "--show-symbol-table",
28 "--show-function-table",
33 "--string-abstraction",
47 "--validate-goto-model",
48 "--export-file-local-symbols",
56 for(std::size_t
i = 0;
i < arguments.size();
i++)
59 if(std::string(arguments[
i], 0, 2) ==
"--")
64 arguments[
i] ==
"--verbosity" || arguments[
i] ==
"--function" ||
65 arguments[
i] ==
"--mangle-suffix")
67 if(
i < arguments.size() - 1)
69 set(arguments[
i], arguments[
i + 1]);
74 else if(!arguments[
i].empty() && arguments[
i][0] ==
'@')
79 else if(arguments[
i] ==
"/link" || arguments[
i] ==
"-link")
82 i = arguments.size() - 1;
85 arguments[
i].size() == 2 &&
86 (arguments[
i] ==
"/D" || arguments[
i] ==
"-D") &&
87 i != arguments.size() - 1)
90 std::string
tmp =
"/D" + arguments[
i + 1];
130 std::vector<std::string> arguments;
134 arguments.push_back(
argv[
i]);
136 return parse(arguments);
181 std::cerr <<
"failed to open response file '" <<
file <<
"'\n";
189 line[0]==
static_cast<char>(0xff) &&
190 line[1]==
static_cast<char>(0xfe))
214 else if(line.size()>=3 &&
215 line[0]==
static_cast<char>(0xef) &&
216 line[1]==
static_cast<char>(0xbb) &&
217 line[2]==
static_cast<char>(0xbf))
248 std::vector<std::string> arguments;
251 for(std::size_t
i=0;
i<line.size();
i++)
258 arguments.push_back(option);
270 arguments.push_back(option);
277 const std::string &s)
286 std::cout <<
"Warning: uninterpreted non-CL option '" << s <<
"'\n";
422 if(s[0]!=
'/' && s[0]!=
'-')
430 if(std::string(s, 1, std::string::npos)==
ms_cl_flags[
j])
445 option.
optstring=std::string(s, 1, std::string::npos);
450 if(!
optnr.has_value())
486 if(!
optnr.has_value())
494 std::string(s,
ms_cl_prefix.size()+1, std::string::npos));
501 std::cout <<
"Warning: uninterpreted CL option '" << s <<
"'\n";
virtual void clear()
Reset the abstract state.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
optionalt< std::size_t > getoptnr(char option) const
std::vector< optiont > options
void set(const std::string &opt, const char *value) override
Set option option to value.
void process_response_file(const std::string &file)
void process_response_file_line(const std::string &line)
void process_non_cl_option(const std::string &s)
virtual bool parse(int, const char **)
parses the command line options into a cmdlinet
void process_cl_option(const std::string &s)
static std::istream & my_wgetline(std::istream &in, std::wstring &dest)
const char * ms_cl_prefixes[]
const char * non_ms_cl_options[]
parses the command line options into a cmdlinet
const char * ms_cl_flags[]
A special command line object for the gcc-like options.
output_type narrow(input_type input)
Run-time checked narrowing cast.