Home | History | Annotate | Download | only in include
      1 /* toplev.h - Various declarations for functions found in toplev.c
      2    Copyright (C) 1998-2013 Free Software Foundation, Inc.
      3 
      4 This file is part of GCC.
      5 
      6 GCC is free software; you can redistribute it and/or modify it under
      7 the terms of the GNU General Public License as published by the Free
      8 Software Foundation; either version 3, or (at your option) any later
      9 version.
     10 
     11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
     12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14 for more details.
     15 
     16 You should have received a copy of the GNU General Public License
     17 along with GCC; see the file COPYING3.  If not see
     18 <http://www.gnu.org/licenses/>.  */
     19 
     20 #ifndef GCC_TOPLEV_H
     21 #define GCC_TOPLEV_H
     22 
     23 /* Decoded options, and number of such options.  */
     24 extern struct cl_decoded_option *save_decoded_options;
     25 extern unsigned int save_decoded_options_count;
     26 
     27 extern int toplev_main (int, char **);
     28 extern void rest_of_decl_compilation (tree, int, int);
     29 extern void rest_of_type_compilation (tree, int);
     30 extern void init_optimization_passes (void);
     31 extern void finish_optimization_passes (void);
     32 extern bool enable_rtl_dump_file (void);
     33 
     34 /* In except.c.  Initialize exception handling.  This is used by the Ada
     35    and LTO front ends to initialize EH "on demand".  See lto-streamer-in.c
     36    and ada/gcc-interface/misc.c.  */
     37 extern void init_eh (void);
     38 
     39 extern void announce_function (tree);
     40 
     41 extern void wrapup_global_declaration_1 (tree);
     42 extern bool wrapup_global_declaration_2 (tree);
     43 extern bool wrapup_global_declarations (tree *, int);
     44 extern void check_global_declaration_1 (tree);
     45 extern void check_global_declarations (tree *, int);
     46 extern void emit_debug_global_declarations (tree *, int);
     47 extern void write_global_declarations (void);
     48 
     49 extern void dump_memory_report (bool);
     50 extern void dump_profile_report (void);
     51 
     52 extern void target_reinit (void);
     53 
     54 /* A unique local time stamp, might be zero if none is available.  */
     55 extern unsigned local_tick;
     56 
     57 /* True if the user has tagged the function with the 'section'
     58    attribute.  */
     59 
     60 extern bool user_defined_section_attribute;
     61 
     62 /* See toplev.c.  */
     63 extern int flag_rerun_cse_after_global_opts;
     64 
     65 extern void print_version (FILE *, const char *);
     66 
     67 /* The hashtable, so that the C front ends can pass it to cpplib.  */
     68 extern struct ht *ident_hash;
     69 
     70 /* Functions used to get and set GCC's notion of in what directory
     71    compilation was started.  */
     72 
     73 extern const char *get_src_pwd	       (void);
     74 extern bool set_src_pwd		       (const char *);
     75 
     76 /* Functions used to manipulate the random seed.  */
     77 
     78 extern HOST_WIDE_INT get_random_seed (bool);
     79 extern const char *set_random_seed (const char *);
     80 
     81 #endif /* ! GCC_TOPLEV_H */
     82