summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/f/top.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/f/top.c')
-rw-r--r--contrib/gcc/f/top.c994
1 files changed, 0 insertions, 994 deletions
diff --git a/contrib/gcc/f/top.c b/contrib/gcc/f/top.c
deleted file mode 100644
index ce39dd0..0000000
--- a/contrib/gcc/f/top.c
+++ /dev/null
@@ -1,994 +0,0 @@
-/* top.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 1997, 1999, 2001, 2003
- Free Software Foundation, Inc.
- Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
- Related Modules:
- None.
-
- Description:
- The GNU Fortran Front End.
-
- Modifications:
-*/
-
-/* Include files. */
-
-#include "proj.h"
-#include "top.h"
-#include "bad.h"
-#include "bit.h"
-#include "bld.h"
-#include "com.h"
-#include "data.h"
-#include "equiv.h"
-#include "expr.h"
-#include "global.h"
-#include "implic.h"
-#include "info.h"
-#include "intrin.h"
-#include "lab.h"
-#include "lex.h"
-#include "malloc.h"
-#include "name.h"
-#include "options.h"
-#include "opts.h"
-#include "src.h"
-#include "st.h"
-#include "storag.h"
-#include "symbol.h"
-#include "target.h"
-#include "where.h"
-#include "flags.h"
-#include "toplev.h"
-
-/* Externals defined here. */
-
-bool ffe_is_do_internal_checks_ = FALSE;
-bool ffe_is_90_ = FFETARGET_defaultIS_90;
-bool ffe_is_automatic_ = FFETARGET_defaultIS_AUTOMATIC;
-bool ffe_is_backslash_ = FFETARGET_defaultIS_BACKSLASH;
-bool ffe_is_emulate_complex_ = FALSE;
-bool ffe_is_underscoring_ = FFETARGET_defaultEXTERNAL_UNDERSCORED
- || FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED;
-bool ffe_is_second_underscore_ = FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED;
-bool ffe_is_debug_kludge_ = FALSE;
-bool ffe_is_dollar_ok_ = FFETARGET_defaultIS_DOLLAR_OK;
-bool ffe_is_f2c_ = FFETARGET_defaultIS_F2C;
-bool ffe_is_f2c_library_ = FFETARGET_defaultIS_F2C_LIBRARY;
-bool ffe_is_ffedebug_ = FALSE;
-bool ffe_is_flatten_arrays_ = FALSE;
-bool ffe_is_free_form_ = FFETARGET_defaultIS_FREE_FORM;
-bool ffe_is_globals_ = TRUE;
-bool ffe_is_init_local_zero_ = FFETARGET_defaultIS_INIT_LOCAL_ZERO;
-bool ffe_is_mainprog_; /* TRUE if current prog unit known to be
- main. */
-bool ffe_is_onetrip_ = FALSE;
-bool ffe_is_silent_ = TRUE;
-bool ffe_is_typeless_boz_ = FALSE;
-bool ffe_is_pedantic_ = FFETARGET_defaultIS_PEDANTIC;
-bool ffe_is_saveall_; /* TRUE if mainprog or SAVE (no args) seen. */
-bool ffe_is_ugly_args_ = TRUE;
-bool ffe_is_ugly_assign_ = FALSE; /* Try and store pointer to ASSIGN labels in INTEGER vars. */
-bool ffe_is_ugly_assumed_ = FALSE; /* DIMENSION X([...,]1) => DIMENSION X([...,]*) */
-bool ffe_is_ugly_comma_ = FALSE;
-bool ffe_is_ugly_complex_ = FALSE;
-bool ffe_is_ugly_init_ = TRUE;
-bool ffe_is_ugly_logint_ = FALSE;
-bool ffe_is_version_ = FALSE;
-bool ffe_is_vxt_ = FALSE;
-bool ffe_is_warn_globals_ = TRUE;
-bool ffe_is_warn_implicit_ = FALSE;
-bool ffe_is_warn_surprising_ = FALSE;
-bool ffe_is_zeros_ = FALSE;
-ffeCase ffe_case_intrin_ = FFETARGET_defaultCASE_INTRIN;
-ffeCase ffe_case_match_ = FFETARGET_defaultCASE_MATCH;
-ffeCase ffe_case_source_ = FFETARGET_defaultCASE_SOURCE;
-ffeCase ffe_case_symbol_ = FFETARGET_defaultCASE_SYMBOL;
-ffeIntrinsicState ffe_intrinsic_state_badu77_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_gnu_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_f2c_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_f90_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_mil_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_unix_ = FFE_intrinsicstateENABLED;
-ffeIntrinsicState ffe_intrinsic_state_vxt_ = FFE_intrinsicstateENABLED;
-int ffe_fixed_line_length_ = FFETARGET_defaultFIXED_LINE_LENGTH;
-mallocPool ffe_file_pool_ = NULL;
-mallocPool ffe_any_unit_pool_ = NULL;
-mallocPool ffe_program_unit_pool_ = NULL;
-ffeCounter ffe_count_0 = 0;
-ffeCounter ffe_count_1 = 0;
-ffeCounter ffe_count_2 = 0;
-ffeCounter ffe_count_3 = 0;
-ffeCounter ffe_count_4 = 0;
-bool ffe_in_0 = FALSE;
-bool ffe_in_1 = FALSE;
-bool ffe_in_2 = FALSE;
-bool ffe_in_3 = FALSE;
-bool ffe_in_4 = FALSE;
-
-/* Simple definitions and enumerations. */
-
-
-/* Internal typedefs. */
-
-
-/* Private include files. */
-
-
-/* Internal structure definitions. */
-
-
-/* Static objects accessed by functions in this module. */
-
-
-/* Static functions (internal). */
-
-static bool ffe_is_digit_string_ (const char *s);
-
-/* Internal macros. */
-
-static bool
-ffe_is_digit_string_ (const char *s)
-{
- const char *p;
-
- for (p = s; ISDIGIT (*p); ++p)
- ;
-
- return (p != s) && (*p == '\0');
-}
-
-/* Get ready for options handling. */
-unsigned int
-ffe_init_options (unsigned int argc ATTRIBUTE_UNUSED,
- const char **argv ATTRIBUTE_UNUSED)
-{
- /* Set default options for Fortran. */
- flag_move_all_movables = 1;
- flag_reduce_all_givs = 1;
- flag_argument_noalias = 2;
- flag_merge_constants = 2;
- flag_errno_math = 0;
- flag_complex_divide_method = 1;
-
- return CL_F77;
-}
-
-/* Handle command-line options. Returns 0 if unrecognized, 1 if
- recognized and handled. */
-int
-ffe_handle_option (size_t scode, const char *arg, int value)
-{
- enum opt_code code = (enum opt_code) scode;
-
- switch (code)
- {
- default:
- abort();
-
- case OPT_fversion:
- ffe_set_is_version (TRUE);
- ffe_set_is_do_internal_checks (TRUE);
- break;
-
- case OPT_ff66:
- ffe_set_is_onetrip (value);
- ffe_set_is_ugly_assumed (value);
- break;
-
- case OPT_ff77:
- ffe_set_is_backslash (value);
- if (value)
- ffe_set_is_typeless_boz (FALSE);
- break;
-
- case OPT_ff90:
- ffe_set_is_90 (value);
- break;
-
- case OPT_fautomatic:
- ffe_set_is_automatic (value);
- break;
-
- case OPT_fdollar_ok:
- ffe_set_is_dollar_ok (value);
- break;
-
- case OPT_ff2c:
- ffe_set_is_f2c (value);
- break;
-
- case OPT_ff2c_library:
- ffe_set_is_f2c_library (value);
- break;
-
- case OPT_fflatten_arrays:
- ffe_set_is_f2c_library (value);
- break;
-
- case OPT_ffree_form:
- ffe_set_is_free_form (value);
- break;
-
- case OPT_ffixed_form:
- ffe_set_is_free_form (!value);
- break;
-
- case OPT_fpedantic:
- ffe_set_is_pedantic (value);
- break;
-
- case OPT_fvxt:
- ffe_set_is_vxt (value);
- break;
-
- case OPT_fvxt_not_f90:
- warning ("-fvxt-not-f90 no longer supported -- try -fvxt");
- break;
-
- case OPT_ff90_not_vxt:
- warning ("-ff90-not-vxt no longer supported -- try -fno-vxt -ff90");
- break;
-
- case OPT_fugly:
- ffe_set_is_ugly_args (value);
- ffe_set_is_ugly_assign (value);
- ffe_set_is_ugly_assumed (value);
- ffe_set_is_ugly_comma (value);
- ffe_set_is_ugly_complex (value);
- ffe_set_is_ugly_init (value);
- ffe_set_is_ugly_logint (value);
- break;
-
- case OPT_fugly_args:
- ffe_set_is_ugly_args (value);
- break;
-
- case OPT_fugly_assign:
- ffe_set_is_ugly_assign (value);
- break;
-
- case OPT_fugly_assumed:
- ffe_set_is_ugly_assumed (value);
- break;
-
- case OPT_fugly_comma:
- ffe_set_is_ugly_comma (value);
- break;
-
- case OPT_fugly_complex:
- ffe_set_is_ugly_complex (value);
- break;
-
- case OPT_fugly_init:
- ffe_set_is_ugly_init (value);
- break;
-
- case OPT_fugly_logint:
- ffe_set_is_ugly_logint (value);
- break;
-
- case OPT_fxyzzy:
- ffe_set_is_ffedebug (value);
- break;
-
- case OPT_finit_local_zero:
- ffe_set_is_init_local_zero (value);
- break;
-
- case OPT_femulate_complex:
- ffe_set_is_emulate_complex (value);
- break;
-
- case OPT_fbackslash:
- ffe_set_is_backslash (value);
- break;
-
- case OPT_funderscoring:
- ffe_set_is_underscoring (value);
- break;
-
- case OPT_fsecond_underscore:
- ffe_set_is_second_underscore (value);
- break;
-
- case OPT_fzeros:
- ffe_set_is_zeros (value);
- break;
-
- case OPT_fdebug_kludge:
- warning ("-fdebug-kludge is disabled, use normal debugging flags");
- break;
-
- case OPT_fonetrip:
- ffe_set_is_onetrip (value);
- break;
-
- case OPT_fsilent:
- ffe_set_is_silent (value);
- break;
-
- case OPT_fglobals:
- ffe_set_is_globals (value);
- break;
-
- case OPT_ffortran_bounds_check:
- flag_bounds_check = value;
- break;
-
- case OPT_ftypeless_boz:
- ffe_set_is_typeless_boz (value);
- break;
-
- case OPT_fintrin_case_initcap:
- ffe_set_case_intrin (FFE_caseINITCAP);
- break;
-
- case OPT_fintrin_case_lower:
- ffe_set_case_intrin (FFE_caseLOWER);
- break;
-
- case OPT_fintrin_case_upper:
- ffe_set_case_intrin (FFE_caseUPPER);
- break;
-
- case OPT_fintrin_case_any:
- ffe_set_case_intrin (FFE_caseNONE);
- break;
-
- case OPT_fmatch_case_initcap:
- ffe_set_case_match (FFE_caseINITCAP);
- break;
-
- case OPT_fmatch_case_lower:
- ffe_set_case_match (FFE_caseLOWER);
- break;
-
- case OPT_fmatch_case_upper:
- ffe_set_case_match (FFE_caseUPPER);
- break;
-
- case OPT_fmatch_case_any:
- ffe_set_case_match (FFE_caseNONE);
- break;
-
- case OPT_fsource_case_lower:
- ffe_set_case_source (FFE_caseLOWER);
- break;
-
- case OPT_fsource_case_preserve:
- ffe_set_case_match (FFE_caseNONE);
- break;
-
- case OPT_fsource_case_upper:
- ffe_set_case_source (FFE_caseUPPER);
- break;
-
- case OPT_fsymbol_case_initcap:
- ffe_set_case_symbol (FFE_caseINITCAP);
- break;
-
- case OPT_fsymbol_case_lower:
- ffe_set_case_symbol (FFE_caseLOWER);
- break;
-
- case OPT_fsymbol_case_upper:
- ffe_set_case_symbol (FFE_caseUPPER);
- break;
-
- case OPT_fsymbol_case_any:
- ffe_set_case_symbol (FFE_caseNONE);
- break;
-
- case OPT_fcase_strict_upper:
- ffe_set_case_intrin (FFE_caseUPPER);
- ffe_set_case_match (FFE_caseUPPER);
- ffe_set_case_source (FFE_caseNONE);
- ffe_set_case_symbol (FFE_caseUPPER);
- break;
-
- case OPT_fcase_strict_lower:
- ffe_set_case_intrin (FFE_caseLOWER);
- ffe_set_case_match (FFE_caseLOWER);
- ffe_set_case_source (FFE_caseNONE);
- ffe_set_case_symbol (FFE_caseLOWER);
- break;
-
- case OPT_fcase_initcap:
- ffe_set_case_intrin (FFE_caseINITCAP);
- ffe_set_case_match (FFE_caseINITCAP);
- ffe_set_case_source (FFE_caseNONE);
- ffe_set_case_symbol (FFE_caseINITCAP);
- break;
-
- case OPT_fcase_upper:
- ffe_set_case_intrin (FFE_caseNONE);
- ffe_set_case_match (FFE_caseNONE);
- ffe_set_case_source (FFE_caseUPPER);
- ffe_set_case_symbol (FFE_caseNONE);
- break;
-
- case OPT_fcase_lower:
- ffe_set_case_intrin (FFE_caseNONE);
- ffe_set_case_match (FFE_caseNONE);
- ffe_set_case_source (FFE_caseLOWER);
- ffe_set_case_symbol (FFE_caseNONE);
- break;
-
- case OPT_fcase_preserve:
- ffe_set_case_intrin (FFE_caseNONE);
- ffe_set_case_match (FFE_caseNONE);
- ffe_set_case_source (FFE_caseNONE);
- ffe_set_case_symbol (FFE_caseNONE);
- break;
-
- case OPT_fbadu77_intrinsics_delete:
- ffe_set_intrinsic_state_badu77 (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_fbadu77_intrinsics_hide:
- ffe_set_intrinsic_state_badu77 (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_fbadu77_intrinsics_disable:
- ffe_set_intrinsic_state_badu77 (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_fbadu77_intrinsics_enable:
- ffe_set_intrinsic_state_badu77 (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_fgnu_intrinsics_delete:
- ffe_set_intrinsic_state_gnu (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_fgnu_intrinsics_hide:
- ffe_set_intrinsic_state_gnu (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_fgnu_intrinsics_disable:
- ffe_set_intrinsic_state_gnu (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_fgnu_intrinsics_enable:
- ffe_set_intrinsic_state_gnu (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_ff2c_intrinsics_delete:
- ffe_set_intrinsic_state_f2c (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_ff2c_intrinsics_hide:
- ffe_set_intrinsic_state_f2c (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_ff2c_intrinsics_disable:
- ffe_set_intrinsic_state_f2c (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_ff2c_intrinsics_enable:
- ffe_set_intrinsic_state_f2c (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_ff90_intrinsics_delete:
- ffe_set_intrinsic_state_f90 (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_ff90_intrinsics_hide:
- ffe_set_intrinsic_state_f90 (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_ff90_intrinsics_disable:
- ffe_set_intrinsic_state_f90 (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_ff90_intrinsics_enable:
- ffe_set_intrinsic_state_f90 (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_fmil_intrinsics_delete:
- ffe_set_intrinsic_state_mil (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_fmil_intrinsics_hide:
- ffe_set_intrinsic_state_mil (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_fmil_intrinsics_disable:
- ffe_set_intrinsic_state_mil (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_fmil_intrinsics_enable:
- ffe_set_intrinsic_state_mil (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_funix_intrinsics_delete:
- ffe_set_intrinsic_state_unix (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_funix_intrinsics_hide:
- ffe_set_intrinsic_state_unix (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_funix_intrinsics_disable:
- ffe_set_intrinsic_state_unix (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_funix_intrinsics_enable:
- ffe_set_intrinsic_state_unix (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_fvxt_intrinsics_delete:
- ffe_set_intrinsic_state_vxt (FFE_intrinsicstateDELETED);
- break;
-
- case OPT_fvxt_intrinsics_hide:
- ffe_set_intrinsic_state_vxt (FFE_intrinsicstateHIDDEN);
- break;
-
- case OPT_fvxt_intrinsics_disable:
- ffe_set_intrinsic_state_vxt (FFE_intrinsicstateDISABLED);
- break;
-
- case OPT_fvxt_intrinsics_enable:
- ffe_set_intrinsic_state_vxt (FFE_intrinsicstateENABLED);
- break;
-
- case OPT_ffixed_line_length_:
- if (strcmp (arg, "none") == 0)
- ffe_set_fixed_line_length (0);
- else if (ffe_is_digit_string_ (arg))
- ffe_set_fixed_line_length (atol (arg));
- else
- return 0;
- break;
-
- case OPT_Wcomment:
- case OPT_Wcomments:
- case OPT_Wimport:
- case OPT_Wtrigraphs:
- case OPT_fpreprocessed:
- /* These are for cpp. */
- break;
-
- case OPT_Wglobals:
- ffe_set_is_warn_globals (value);
- break;
-
- case OPT_Wimplicit:
- ffe_set_is_warn_implicit (value);
- break;
-
- case OPT_Wsurprising:
- ffe_set_is_warn_surprising (value);
- break;
-
- case OPT_Wall:
- set_Wunused (value);
- /* We save the value of warn_uninitialized, since if they put
- -Wuninitialized on the command line, we need to generate a
- warning about not using it without also specifying -O. */
- if (value)
- {
- if (warn_uninitialized != 1)
- warn_uninitialized = 2;
- }
- else
- warn_uninitialized = 0;
- break;
-
- case OPT_I:
- ffecom_decode_include_option (arg);
- break;
- }
-
- return 1;
-}
-
-/* Run the FFE on a source file (not an INCLUDEd file).
-
- Runs the whole shebang.
-
- Prepare and invoke the appropriate lexer. */
-
-void
-ffe_file (ffewhereFile wf, FILE *f)
-{
- ffe_init_1 ();
- ffelex_set_handler ((ffelexHandler) ffest_first);
- ffewhere_file_set (wf, TRUE, 0);
- if (ffe_is_free_form_)
- ffelex_file_free (wf, f);
- else
- ffelex_file_fixed (wf, f);
- ffest_eof ();
- ffe_terminate_1 ();
-}
-
-/* ffe_init_0 -- Initialize the FFE per image invocation
-
- ffe_init_0();
-
- Performs per-image invocation. */
-
-void
-ffe_init_0 (void)
-{
- ++ffe_count_0;
- ffe_in_0 = TRUE;
-
- ffebad_init_0 ();
- ffebit_init_0 ();
- ffebld_init_0 ();
- ffecom_init_0 ();
- ffedata_init_0 ();
- ffeequiv_init_0 ();
- ffeexpr_init_0 ();
- ffeglobal_init_0 ();
- ffeimplic_init_0 ();
- ffeinfo_init_0 ();
- ffeintrin_init_0 ();
- ffelab_init_0 ();
- ffelex_init_0 ();
- ffename_init_0 ();
- ffesrc_init_0 ();
- ffest_init_0 ();
- ffestorag_init_0 ();
- ffesymbol_init_0 ();
- ffetarget_init_0 ();
- ffetype_init_0 ();
- ffewhere_init_0 ();
-}
-
-/* ffe_init_1 -- Initialize the FFE per source file
-
- ffe_init_1();
-
- Performs per-source-file invocation (not including INCLUDEd files). */
-
-void
-ffe_init_1 (void)
-{
- ++ffe_count_1;
- ffe_in_1 = TRUE;
-
- assert (ffe_file_pool_ == NULL);
- ffe_file_pool_ = malloc_pool_new ("File", malloc_pool_image (), 1024);
-
- ffebad_init_1 ();
- ffebit_init_1 ();
- ffebld_init_1 ();
- ffecom_init_1 ();
- ffedata_init_1 ();
- ffeequiv_init_1 ();
- ffeexpr_init_1 ();
- ffeglobal_init_1 ();
- ffeimplic_init_1 ();
- ffeinfo_init_1 ();
- ffeintrin_init_1 ();
- ffelab_init_1 ();
- ffelex_init_1 ();
- ffename_init_1 ();
- ffesrc_init_1 ();
- ffest_init_1 ();
- ffestorag_init_1 ();
- ffesymbol_init_1 ();
- ffetarget_init_1 ();
- ffetype_init_1 ();
- ffewhere_init_1 ();
-
- ffe_init_2 ();
-}
-
-/* ffe_init_2 -- Initialize the FFE per outer program unit
-
- ffe_init_2();
-
- Performs per-program-unit invocation. */
-
-void
-ffe_init_2 (void)
-{
- ++ffe_count_2;
- ffe_in_2 = TRUE;
-
- assert (ffe_program_unit_pool_ == NULL);
- ffe_program_unit_pool_ = malloc_pool_new ("Program unit", ffe_file_pool_, 1024);
- ffe_is_mainprog_ = FALSE;
- ffe_is_saveall_ = !ffe_is_automatic_;
-
- ffebad_init_2 ();
- ffebit_init_2 ();
- ffebld_init_2 ();
- ffecom_init_2 ();
- ffedata_init_2 ();
- ffeequiv_init_2 ();
- ffeexpr_init_2 ();
- ffeglobal_init_2 ();
- ffeimplic_init_2 ();
- ffeinfo_init_2 ();
- ffeintrin_init_2 ();
- ffelab_init_2 ();
- ffelex_init_2 ();
- ffename_init_2 ();
- ffesrc_init_2 ();
- ffest_init_2 ();
- ffestorag_init_2 ();
- ffesymbol_init_2 ();
- ffetarget_init_2 ();
- ffetype_init_2 ();
- ffewhere_init_2 ();
-
- ffe_init_3 ();
-}
-
-/* ffe_init_3 -- Initialize the FFE per any program unit
-
- ffe_init_3();
-
- Performs per-any-unit initialization; does NOT do
- per-statement-function-definition initialization (i.e. the chain
- of inits, from 0-3, breaks here; level 4 must be invoked independently). */
-
-void
-ffe_init_3 (void)
-{
- ++ffe_count_3;
- ffe_in_3 = TRUE;
-
- assert (ffe_any_unit_pool_ == NULL);
- ffe_any_unit_pool_ = malloc_pool_new ("Any unit", ffe_program_unit_pool_, 1024);
-
- ffebad_init_3 ();
- ffebit_init_3 ();
- ffebld_init_3 ();
- ffecom_init_3 ();
- ffedata_init_3 ();
- ffeequiv_init_3 ();
- ffeexpr_init_3 ();
- ffeglobal_init_3 ();
- ffeimplic_init_3 ();
- ffeinfo_init_3 ();
- ffeintrin_init_3 ();
- ffelab_init_3 ();
- ffelex_init_3 ();
- ffename_init_3 ();
- ffesrc_init_3 ();
- ffest_init_3 ();
- ffestorag_init_3 ();
- ffesymbol_init_3 ();
- ffetarget_init_3 ();
- ffetype_init_3 ();
- ffewhere_init_3 ();
-}
-
-/* ffe_init_4 -- Initialize the FFE per statement function definition
-
- ffe_init_4(); */
-
-void
-ffe_init_4 (void)
-{
- ++ffe_count_4;
- ffe_in_4 = TRUE;
-
- ffebad_init_4 ();
- ffebit_init_4 ();
- ffebld_init_4 ();
- ffecom_init_4 ();
- ffedata_init_4 ();
- ffeequiv_init_4 ();
- ffeexpr_init_4 ();
- ffeglobal_init_4 ();
- ffeimplic_init_4 ();
- ffeinfo_init_4 ();
- ffeintrin_init_4 ();
- ffelab_init_4 ();
- ffelex_init_4 ();
- ffename_init_4 ();
- ffesrc_init_4 ();
- ffest_init_4 ();
- ffestorag_init_4 ();
- ffesymbol_init_4 ();
- ffetarget_init_4 ();
- ffetype_init_4 ();
- ffewhere_init_4 ();
-}
-
-/* ffe_terminate_0 -- Terminate the FFE prior to image termination
-
- ffe_terminate_0(); */
-
-void
-ffe_terminate_0 (void)
-{
- ffe_count_1 = 0;
- ffe_in_0 = FALSE;
-
- ffebad_terminate_0 ();
- ffebit_terminate_0 ();
- ffebld_terminate_0 ();
- ffecom_terminate_0 ();
- ffedata_terminate_0 ();
- ffeequiv_terminate_0 ();
- ffeexpr_terminate_0 ();
- ffeglobal_terminate_0 ();
- ffeimplic_terminate_0 ();
- ffeinfo_terminate_0 ();
- ffeintrin_terminate_0 ();
- ffelab_terminate_0 ();
- ffelex_terminate_0 ();
- ffename_terminate_0 ();
- ffesrc_terminate_0 ();
- ffest_terminate_0 ();
- ffestorag_terminate_0 ();
- ffesymbol_terminate_0 ();
- ffetarget_terminate_0 ();
- ffetype_terminate_0 ();
- ffewhere_terminate_0 ();
-}
-
-/* ffe_terminate_1 -- Terminate the FFE after seeing source file EOF
-
- ffe_terminate_1(); */
-
-void
-ffe_terminate_1 (void)
-{
- ffe_count_2 = 0;
- ffe_in_1 = FALSE;
-
- ffe_terminate_2 ();
-
- ffebad_terminate_1 ();
- ffebit_terminate_1 ();
- ffebld_terminate_1 ();
- ffecom_terminate_1 ();
- ffedata_terminate_1 ();
- ffeequiv_terminate_1 ();
- ffeexpr_terminate_1 ();
- ffeglobal_terminate_1 ();
- ffeimplic_terminate_1 ();
- ffeinfo_terminate_1 ();
- ffeintrin_terminate_1 ();
- ffelab_terminate_1 ();
- ffelex_terminate_1 ();
- ffename_terminate_1 ();
- ffesrc_terminate_1 ();
- ffest_terminate_1 ();
- ffestorag_terminate_1 ();
- ffesymbol_terminate_1 ();
- ffetarget_terminate_1 ();
- ffetype_terminate_1 ();
- ffewhere_terminate_1 ();
-
- assert (ffe_file_pool_ != NULL);
- malloc_pool_kill (ffe_file_pool_);
- ffe_file_pool_ = NULL;
-}
-
-/* ffe_terminate_2 -- Terminate the FFE after seeing outer program unit END
-
- ffe_terminate_2(); */
-
-void
-ffe_terminate_2 (void)
-{
- ffe_count_3 = 0;
- ffe_in_2 = FALSE;
-
- ffe_terminate_3 ();
-
- ffebad_terminate_2 ();
- ffebit_terminate_2 ();
- ffebld_terminate_2 ();
- ffecom_terminate_2 ();
- ffedata_terminate_2 ();
- ffeequiv_terminate_2 ();
- ffeexpr_terminate_2 ();
- ffeglobal_terminate_2 ();
- ffeimplic_terminate_2 ();
- ffeinfo_terminate_2 ();
- ffeintrin_terminate_2 ();
- ffelab_terminate_2 ();
- ffelex_terminate_2 ();
- ffename_terminate_2 ();
- ffesrc_terminate_2 ();
- ffest_terminate_2 ();
- ffestorag_terminate_2 ();
- ffesymbol_terminate_2 ();
- ffetarget_terminate_2 ();
- ffetype_terminate_2 ();
- ffewhere_terminate_2 ();
-
- assert (ffe_program_unit_pool_ != NULL);
- malloc_pool_kill (ffe_program_unit_pool_);
- ffe_program_unit_pool_ = NULL;
-}
-
-/* ffe_terminate_3 -- Terminate the FFE after seeing any program unit END
-
- ffe_terminate_3(); */
-
-void
-ffe_terminate_3 (void)
-{
- ffe_count_4 = 0;
- ffe_in_3 = FALSE;
-
- ffebad_terminate_3 ();
- ffebit_terminate_3 ();
- ffebld_terminate_3 ();
- ffecom_terminate_3 ();
- ffedata_terminate_3 ();
- ffeequiv_terminate_3 ();
- ffeexpr_terminate_3 ();
- ffeglobal_terminate_3 ();
- ffeimplic_terminate_3 ();
- ffeinfo_terminate_3 ();
- ffeintrin_terminate_3 ();
- ffelab_terminate_3 ();
- ffelex_terminate_3 ();
- ffename_terminate_3 ();
- ffesrc_terminate_3 ();
- ffest_terminate_3 ();
- ffestorag_terminate_3 ();
- ffesymbol_terminate_3 ();
- ffetarget_terminate_3 ();
- ffetype_terminate_3 ();
- ffewhere_terminate_3 ();
-
- assert (ffe_any_unit_pool_ != NULL);
- malloc_pool_kill (ffe_any_unit_pool_);
- ffe_any_unit_pool_ = NULL;
-}
-
-/* ffe_terminate_4 -- Terminate the FFE after seeing sfunc def expression
-
- ffe_terminate_4(); */
-
-void
-ffe_terminate_4 (void)
-{
- ffe_in_4 = FALSE;
-
- ffebad_terminate_4 ();
- ffebit_terminate_4 ();
- ffebld_terminate_4 ();
- ffecom_terminate_4 ();
- ffedata_terminate_4 ();
- ffeequiv_terminate_4 ();
- ffeexpr_terminate_4 ();
- ffeglobal_terminate_4 ();
- ffeimplic_terminate_4 ();
- ffeinfo_terminate_4 ();
- ffeintrin_terminate_4 ();
- ffelab_terminate_4 ();
- ffelex_terminate_4 ();
- ffename_terminate_4 ();
- ffesrc_terminate_4 ();
- ffest_terminate_4 ();
- ffestorag_terminate_4 ();
- ffesymbol_terminate_4 ();
- ffetarget_terminate_4 ();
- ffetype_terminate_4 ();
- ffewhere_terminate_4 ();
-}
OpenPOWER on IntegriCloud