/* The top-level "main" within the driver would be ~1000 lines long. This class breaks it up into smaller functions and contains some state shared by them. */
class driver { public: driver (bool can_finalize, bool debug); ~driver (); int main (int argc, char **argv); void finalize ();
private: void set_progname (const char *argv0) const; void expand_at_files (int *argc, char ***argv) const; void decode_argv (int argc, const char **argv); void global_initializations (); void build_multilib_strings () const; void set_up_specs () const; void putenv_COLLECT_GCC (const char *argv0) const; void maybe_putenv_COLLECT_LTO_WRAPPER () const; void maybe_putenv_OFFLOAD_TARGETS () const; void build_option_suggestions (void); const char *suggest_option (const char *bad_opt); void handle_unrecognized_options (); int maybe_print_and_exit () const; bool prepare_infiles (); void do_spec_on_infiles () const; void maybe_run_linker (const char *argv0) const; void final_actions () const; int get_exit_code () const;
private: char *explicit_link_files; struct cl_decoded_option *decoded_options; unsigned int decoded_options_count; auto_vec <char *> *m_option_suggestions; };
gcc class driver
最新推荐文章于 2022-10-01 15:52:46 发布