cprover
gcc_mode.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Base class for command line interpretation
4 
5 Author: CM Wintersteiger
6 
7 Date: June 2006
8 
9 \*******************************************************************/
10 
13 
14 #ifndef CPROVER_GOTO_CC_GCC_MODE_H
15 #define CPROVER_GOTO_CC_GCC_MODE_H
16 
17 #include <util/cout_message.h>
18 
19 #include "goto_cc_mode.h"
20 
22 {
23 public:
24  int doit() final;
25  void help_mode() final;
26 
27  gcc_modet(
28  goto_cc_cmdlinet &_cmdline,
29  const std::string &_base_name,
30  bool _produce_hybrid_binary);
31 
32 protected:
34 
36 
37  const bool act_as_ld;
38  std::string native_tool_name;
39 
40  const std::map<std::string, std::set<std::string>> arch_map;
41 
42  int preprocess(
43  const std::string &language,
44  const std::string &src,
45  const std::string &dest,
46  bool act_as_bcc);
47 
48  int run_gcc(); // call gcc with original command line
49 
50  int gcc_hybrid_binary();
51 
52  int asm_output(
53  bool act_as_bcc,
54  const std::list<std::string> &preprocessed_source_files);
55 
56  static bool needs_preprocessing(const std::string &);
57 };
58 
59 #endif // CPROVER_GOTO_CC_GCC_MODE_H
const bool produce_hybrid_binary
Definition: gcc_mode.h:35
gcc_message_handlert gcc_message_handler
Definition: gcc_mode.h:33
int preprocess(const std::string &language, const std::string &src, const std::string &dest, bool act_as_bcc)
call gcc for preprocessing
Definition: gcc_mode.cpp:715
int run_gcc()
run gcc or clang with original command line
Definition: gcc_mode.cpp:794
const bool act_as_ld
Definition: gcc_mode.h:37
gcc_modet(goto_cc_cmdlinet &_cmdline, const std::string &_base_name, bool _produce_hybrid_binary)
Definition: gcc_mode.cpp:89
void help_mode() final
display command line help
Definition: gcc_mode.cpp:1044
int doit() final
does it.
Definition: gcc_mode.cpp:304
static bool needs_preprocessing(const std::string &)
Definition: gcc_mode.cpp:289
std::string native_tool_name
Definition: gcc_mode.h:38
int gcc_hybrid_binary()
Definition: gcc_mode.cpp:815
const std::map< std::string, std::set< std::string > > arch_map
Definition: gcc_mode.h:40
Command line interpretation for goto-cc.
int asm_output(bool act_as_bcc, const std::list< std::string > &preprocessed_source_files)
Definition: gcc_mode.cpp:959