Commit 516b69ff by Richard Henderson Committed by Richard Henderson

com.h: Remove FFECOM_targetCURRENT...

        * com.h: Remove FFECOM_targetCURRENT, FFECOM_ONEPASS, BUILT_FOR_270,
        BUILT_FOR_280, FFECOM_GCC_INCLUDE, all derivitive defines, and all
        related conditional compilation directives.
        * bad.c, bld.c, bld.h, com.c, equiv.c, equiv.h, global.h, intdoc.c,
        intrin.c, intrin.h, lex.c, parse.c, sta.c, std.c, ste.c, ste.h, stt.c,
        stt.h, stw.h, symbol.c, symbol.h, target.h, top.c: Likewise.

From-SVN: r46324
parent 5bed56d9
2001-10-17 Richard Henderson <rth@redhat.com> 2001-10-17 Richard Henderson <rth@redhat.com>
* com.h: Remove FFECOM_targetCURRENT, FFECOM_ONEPASS, BUILT_FOR_270,
BUILT_FOR_280, FFECOM_GCC_INCLUDE, all derivitive defines, and all
related conditional compilation directives.
* bad.c, bld.c, bld.h, com.c, equiv.c, equiv.h, global.h, intdoc.c,
intrin.c, intrin.h, lex.c, parse.c, sta.c, std.c, ste.c, ste.h, stt.c,
stt.h, stw.h, symbol.c, symbol.h, target.h, top.c: Likewise.
2001-10-17 Richard Henderson <rth@redhat.com>
* Make-lang.in (f/com.o): Depend on langhooks.h. * Make-lang.in (f/com.o): Depend on langhooks.h.
* com.c: Include it. * com.c: Include it.
(LANG_HOOKS_INIT, LANG_HOOKS_FINISH): New. (LANG_HOOKS_INIT, LANG_HOOKS_FINISH): New.
......
...@@ -182,44 +182,40 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev, ...@@ -182,44 +182,40 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
ffebad_message_ = message; ffebad_message_ = message;
} }
#if FFECOM_targetCURRENT == FFECOM_targetGCC switch (ffebad_severity_)
{ { /* Tell toplev.c about this message. */
switch (ffebad_severity_) case FFEBAD_severityINFORMATIONAL:
{ /* Tell toplev.c about this message. */ case FFEBAD_severityTRIVIAL:
case FFEBAD_severityINFORMATIONAL: if (inhibit_warnings)
case FFEBAD_severityTRIVIAL: { /* User wants no warnings. */
if (inhibit_warnings) ffebad_is_temp_inhibited_ = TRUE;
{ /* User wants no warnings. */ return FALSE;
ffebad_is_temp_inhibited_ = TRUE; }
return FALSE; /* Fall through. */
} case FFEBAD_severityWARNING:
/* Fall through. */ case FFEBAD_severityPECULIAR:
case FFEBAD_severityWARNING: case FFEBAD_severityPEDANTIC:
case FFEBAD_severityPECULIAR: if ((ffebad_severity_ != FFEBAD_severityPEDANTIC)
case FFEBAD_severityPEDANTIC: || !flag_pedantic_errors)
if ((ffebad_severity_ != FFEBAD_severityPEDANTIC) {
|| !flag_pedantic_errors) if (count_error (1) == 0)
{ { /* User wants no warnings. */
if (count_error (1) == 0) ffebad_is_temp_inhibited_ = TRUE;
{ /* User wants no warnings. */ return FALSE;
ffebad_is_temp_inhibited_ = TRUE; }
return FALSE; break;
} }
break; /* Fall through (PEDANTIC && flag_pedantic_errors). */
} case FFEBAD_severityFATAL:
/* Fall through (PEDANTIC && flag_pedantic_errors). */ case FFEBAD_severityWEIRD:
case FFEBAD_severityFATAL: case FFEBAD_severitySEVERE:
case FFEBAD_severityWEIRD: case FFEBAD_severityDISASTER:
case FFEBAD_severitySEVERE: count_error (0);
case FFEBAD_severityDISASTER: break;
count_error (0);
break;
default: default:
break; break;
} }
}
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
ffebad_is_temp_inhibited_ = FALSE; ffebad_is_temp_inhibited_ = FALSE;
ffebad_errnum_ = errnum; ffebad_errnum_ = errnum;
...@@ -420,20 +416,13 @@ ffebad_finish () ...@@ -420,20 +416,13 @@ ffebad_finish ()
{ {
if (bi != 0) if (bi != 0)
fputc ('\n', stderr); fputc ('\n', stderr);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
report_error_function (fn); report_error_function (fn);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
fprintf (stderr, fprintf (stderr,
#if 0
"Line %" ffewhereLineNumber_f "u of %s:\n %s\n %s%c",
rn, fn,
#else
/* the trailing space on the <file>:<line>: line /* the trailing space on the <file>:<line>: line
fools emacs19 compilation mode into finding the fools emacs19 compilation mode into finding the
report */ report */
"%s:%" ffewhereLineNumber_f "u: %s\n %s\n %s%c", "%s:%" ffewhereLineNumber_f "u: %s\n %s\n %s%c",
fn, rn, fn, rn,
#endif
s, s,
ffewhere_line_content (l), ffewhere_line_content (l),
&spaces[cn > MAX_SPACES ? 0 : MAX_SPACES - cn + 4], &spaces[cn > MAX_SPACES ? 0 : MAX_SPACES - cn + 4],
......
...@@ -124,13 +124,7 @@ typedef struct _ffebld_pool_stack_ *ffebldPoolstack_; ...@@ -124,13 +124,7 @@ typedef struct _ffebld_pool_stack_ *ffebldPoolstack_;
#define FFEBLD_whereconstPROGUNIT_ 1 #define FFEBLD_whereconstPROGUNIT_ 1
#define FFEBLD_whereconstFILE_ 2 #define FFEBLD_whereconstFILE_ 2
#if FFECOM_targetCURRENT == FFECOM_targetFFE
#define FFEBLD_whereconstCURRENT_ FFEBLD_whereconstPROGUNIT_
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
#define FFEBLD_whereconstCURRENT_ FFEBLD_whereconstFILE_ #define FFEBLD_whereconstCURRENT_ FFEBLD_whereconstFILE_
#else
#error
#endif
/* Structure definitions. */ /* Structure definitions. */
...@@ -486,9 +480,6 @@ extern struct _ffebld_pool_stack_ ffebld_pool_stack_; ...@@ -486,9 +480,6 @@ extern struct _ffebld_pool_stack_ ffebld_pool_stack_;
/* Declare functions with prototypes. */ /* Declare functions with prototypes. */
int ffebld_constant_cmp (ffebldConstant c1, ffebldConstant c2); int ffebld_constant_cmp (ffebldConstant c1, ffebldConstant c2);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffebld_constant_dump (ffebldConstant c);
#endif
bool ffebld_constant_is_magical (ffebldConstant c); bool ffebld_constant_is_magical (ffebldConstant c);
bool ffebld_constant_is_zero (ffebldConstant c); bool ffebld_constant_is_zero (ffebldConstant c);
#if FFETARGET_okCHARACTER1 #if FFETARGET_okCHARACTER1
...@@ -691,10 +682,6 @@ ffebldConstant ffebld_constant_new_typeless_ov (ffelexToken t); ...@@ -691,10 +682,6 @@ ffebldConstant ffebld_constant_new_typeless_ov (ffelexToken t);
ffebldConstant ffebld_constant_new_typeless_val (ffebldConst type, ffebldConstant ffebld_constant_new_typeless_val (ffebldConst type,
ffetargetTypeless val); ffetargetTypeless val);
ffebldConstant ffebld_constant_negated (ffebldConstant c); ffebldConstant ffebld_constant_negated (ffebldConstant c);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffebld_constantarray_dump (ffebldConstantArray array, ffeinfoBasictype bt,
ffeinfoKindtype kt, ffetargetOffset size, ffebit bits);
#endif
ffebldConstantUnion ffebld_constantarray_get (ffebldConstantArray array, ffebldConstantUnion ffebld_constantarray_get (ffebldConstantArray array,
ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset offset); ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset offset);
void ffebld_constantarray_kill (ffebldConstantArray array, ffeinfoBasictype bt, void ffebld_constantarray_kill (ffebldConstantArray array, ffeinfoBasictype bt,
...@@ -711,12 +698,6 @@ void ffebld_constantarray_preparray (void **aptr, void **cptr, size_t *size, ...@@ -711,12 +698,6 @@ void ffebld_constantarray_preparray (void **aptr, void **cptr, size_t *size,
ffeinfoBasictype cbt, ffeinfoKindtype ckt); ffeinfoBasictype cbt, ffeinfoKindtype ckt);
void ffebld_constantarray_put (ffebldConstantArray array, ffeinfoBasictype bt, void ffebld_constantarray_put (ffebldConstantArray array, ffeinfoBasictype bt,
ffeinfoKindtype kt, ffetargetOffset offset, ffebldConstantUnion constant); ffeinfoKindtype kt, ffetargetOffset offset, ffebldConstantUnion constant);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffebld_constantunion_dump (ffebldConstantUnion u, ffeinfoBasictype bt,
ffeinfoKindtype kt);
void ffebld_dump (ffebld b);
void ffebld_dump_prefix (FILE *out, ffeinfoBasictype bt, ffeinfoKindtype kt);
#endif
void ffebld_init_0 (void); void ffebld_init_0 (void);
void ffebld_init_1 (void); void ffebld_init_1 (void);
void ffebld_init_2 (void); void ffebld_init_2 (void);
......
...@@ -34,27 +34,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -34,27 +34,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define FFECOM_dimensionsMAX 7 /* Max # dimensions (quick hack). */ #define FFECOM_dimensionsMAX 7 /* Max # dimensions (quick hack). */
#define FFECOM_targetFFE 1
#define FFECOM_targetGCC 2
#ifndef FFE_STANDALONE
#define FFECOM_targetCURRENT FFECOM_targetGCC /* Backend! */
#define FFECOM_ONEPASS 0
#else
#define FFECOM_targetCURRENT FFECOM_targetFFE
#define FFECOM_ONEPASS 0
#endif
#if FFECOM_ONEPASS
#define FFECOM_TWOPASS 0
#else
#define FFECOM_TWOPASS 1
#endif
#define FFECOM_SIZE_UNIT "byte" /* Singular form. */ #define FFECOM_SIZE_UNIT "byte" /* Singular form. */
#define FFECOM_SIZE_UNITS "bytes" /* Plural form. */ #define FFECOM_SIZE_UNITS "bytes" /* Plural form. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#define FFECOM_constantNULL NULL_TREE #define FFECOM_constantNULL NULL_TREE
#define FFECOM_nonterNULL NULL_TREE #define FFECOM_nonterNULL NULL_TREE
#define FFECOM_globalNULL NULL_TREE #define FFECOM_globalNULL NULL_TREE
...@@ -139,31 +121,12 @@ typedef enum ...@@ -139,31 +121,12 @@ typedef enum
FFECOM_gfrt FFECOM_gfrt
} ffecomGfrt; } ffecomGfrt;
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
/* Typedefs. */ /* Typedefs. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#ifndef TREE_CODE #ifndef TREE_CODE
#include "tree.h" #include "tree.h"
#endif #endif
#ifndef BUILT_FOR_270
#ifdef DECL_STATIC_CONSTRUCTOR /* In gcc/tree.h. */
#define BUILT_FOR_270 1
#else
#define BUILT_FOR_270 0
#endif
#endif /* !defined (BUILT_FOR_270) */
#ifndef BUILT_FOR_280
#ifdef DECL_ONE_ONLY /* In gcc/tree.h. */
#define BUILT_FOR_280 1
#else
#define BUILT_FOR_280 0
#endif
#endif /* !defined (BUILT_FOR_280) */
typedef tree ffecomConstant; typedef tree ffecomConstant;
#define FFECOM_constantHOOK #define FFECOM_constantHOOK
typedef tree ffecomNonter; typedef tree ffecomNonter;
...@@ -185,7 +148,6 @@ struct _ffecom_symbol_ ...@@ -185,7 +148,6 @@ struct _ffecom_symbol_
tree assign_tree; /* For ASSIGN'ed vars. */ tree assign_tree; /* For ASSIGN'ed vars. */
bool addr; /* Is address of item instead of item. */ bool addr; /* Is address of item instead of item. */
}; };
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
/* Include files needed by this one. */ /* Include files needed by this one. */
...@@ -200,7 +162,6 @@ struct _ffecom_symbol_ ...@@ -200,7 +162,6 @@ struct _ffecom_symbol_
/* Global objects accessed by users of this module. */ /* Global objects accessed by users of this module. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
extern tree string_type_node; extern tree string_type_node;
extern tree ffecom_integer_type_node; extern tree ffecom_integer_type_node;
extern tree ffecom_integer_zero_node; extern tree ffecom_integer_zero_node;
...@@ -227,11 +188,9 @@ extern tree ffecom_f2c_ftnlen_two_node; ...@@ -227,11 +188,9 @@ extern tree ffecom_f2c_ftnlen_two_node;
extern tree ffecom_f2c_ptr_to_ftnlen_type_node; extern tree ffecom_f2c_ptr_to_ftnlen_type_node;
extern tree ffecom_f2c_ftnint_type_node; extern tree ffecom_f2c_ftnint_type_node;
extern tree ffecom_f2c_ptr_to_ftnint_type_node; extern tree ffecom_f2c_ptr_to_ftnint_type_node;
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
/* Declare functions with prototypes. */ /* Declare functions with prototypes. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
tree ffecom_1 (enum tree_code code, tree type, tree node); tree ffecom_1 (enum tree_code code, tree type, tree node);
tree ffecom_1_fn (tree node); tree ffecom_1_fn (tree node);
tree ffecom_2 (enum tree_code code, tree type, tree node1, tree node2); tree ffecom_2 (enum tree_code code, tree type, tree node1, tree node2);
...@@ -251,16 +210,12 @@ tree ffecom_constantunion (ffebldConstantUnion *cu, ffeinfoBasictype bt, ...@@ -251,16 +210,12 @@ tree ffecom_constantunion (ffebldConstantUnion *cu, ffeinfoBasictype bt,
tree ffecom_const_expr (ffebld expr); tree ffecom_const_expr (ffebld expr);
tree ffecom_decl_field (tree context, tree prevfield, const char *name, tree ffecom_decl_field (tree context, tree prevfield, const char *name,
tree type); tree type);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
void ffecom_close_include (FILE *f); void ffecom_close_include (FILE *f);
int ffecom_decode_include_option (char *spec); int ffecom_decode_include_option (char *spec);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
tree ffecom_end_compstmt (void); tree ffecom_end_compstmt (void);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
void ffecom_end_transition (void); void ffecom_end_transition (void);
void ffecom_exec_transition (void); void ffecom_exec_transition (void);
void ffecom_expand_let_stmt (ffebld dest, ffebld source); void ffecom_expand_let_stmt (ffebld dest, ffebld source);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
tree ffecom_expr (ffebld expr); tree ffecom_expr (ffebld expr);
tree ffecom_expr_assign (ffebld expr); tree ffecom_expr_assign (ffebld expr);
tree ffecom_expr_assign_w (ffebld expr); tree ffecom_expr_assign_w (ffebld expr);
...@@ -282,13 +237,11 @@ tree ffecom_make_tempvar (const char *commentary, tree type, ...@@ -282,13 +237,11 @@ tree ffecom_make_tempvar (const char *commentary, tree type,
ffetargetCharacterSize size, int elements); ffetargetCharacterSize size, int elements);
tree ffecom_modify (tree newtype, tree lhs, tree rhs); tree ffecom_modify (tree newtype, tree lhs, tree rhs);
void ffecom_save_tree_forever (tree t); void ffecom_save_tree_forever (tree t);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
void ffecom_file (const char *name); void ffecom_file (const char *name);
void ffecom_notify_init_storage (ffestorag st); void ffecom_notify_init_storage (ffestorag st);
void ffecom_notify_init_symbol (ffesymbol s); void ffecom_notify_init_symbol (ffesymbol s);
void ffecom_notify_primary_entry (ffesymbol fn); void ffecom_notify_primary_entry (ffesymbol fn);
FILE *ffecom_open_include (char *name, ffewhereLine l, ffewhereColumn c); FILE *ffecom_open_include (char *name, ffewhereLine l, ffewhereColumn c);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
void ffecom_prepare_arg_ptr_to_expr (ffebld expr); void ffecom_prepare_arg_ptr_to_expr (ffebld expr);
bool ffecom_prepare_end (void); bool ffecom_prepare_end (void);
void ffecom_prepare_expr_ (ffebld expr, ffebld dest); void ffecom_prepare_expr_ (ffebld expr, ffebld dest);
...@@ -303,38 +256,22 @@ tree ffecom_save_tree (tree t); ...@@ -303,38 +256,22 @@ tree ffecom_save_tree (tree t);
void ffecom_start_compstmt (void); void ffecom_start_compstmt (void);
tree ffecom_start_decl (tree decl, bool is_init); tree ffecom_start_decl (tree decl, bool is_init);
void ffecom_sym_commit (ffesymbol s); void ffecom_sym_commit (ffesymbol s);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
ffesymbol ffecom_sym_end_transition (ffesymbol s); ffesymbol ffecom_sym_end_transition (ffesymbol s);
ffesymbol ffecom_sym_exec_transition (ffesymbol s); ffesymbol ffecom_sym_exec_transition (ffesymbol s);
ffesymbol ffecom_sym_learned (ffesymbol s); ffesymbol ffecom_sym_learned (ffesymbol s);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
void ffecom_sym_retract (ffesymbol s); void ffecom_sym_retract (ffesymbol s);
tree ffecom_temp_label (void); tree ffecom_temp_label (void);
tree ffecom_truth_value (tree expr); tree ffecom_truth_value (tree expr);
tree ffecom_truth_value_invert (tree expr); tree ffecom_truth_value_invert (tree expr);
tree ffecom_type_expr (ffebld expr); tree ffecom_type_expr (ffebld expr);
tree ffecom_which_entrypoint_decl (void); tree ffecom_which_entrypoint_decl (void);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
/* Define macros. */ /* Define macros. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
#define ffecom_expr(e) (e)
#define ffecom_init_0()
#define ffecom_init_2()
#define ffecom_label_kind() FFEINFO_kindtypeINTEGERDEFAULT
#define ffecom_pointer_kind() FFEINFO_kindtypeINTEGERDEFAULT
#define ffecom_ptr_to_expr(e) (e)
#define ffecom_sym_commit(s)
#define ffecom_sym_retract(s)
#endif /* FFECOM_targetCURRENT == FFECOM_targetFFE */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#define ffecom_f2c_typecode(bt,kt) ffecom_f2c_typecode_[(bt)][(kt)] #define ffecom_f2c_typecode(bt,kt) ffecom_f2c_typecode_[(bt)][(kt)]
#define ffecom_label_kind() ffecom_label_kind_ #define ffecom_label_kind() ffecom_label_kind_
#define ffecom_pointer_kind() ffecom_pointer_kind_ #define ffecom_pointer_kind() ffecom_pointer_kind_
#define ffecom_prepare_expr(e) ffecom_prepare_expr_ ((e), NULL) #define ffecom_prepare_expr(e) ffecom_prepare_expr_ ((e), NULL)
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
#define ffecom_init_1() #define ffecom_init_1()
#define ffecom_init_3() #define ffecom_init_3()
......
...@@ -913,21 +913,6 @@ ffeequiv_add (ffeequiv eq, ffebld list, ffelexToken t) ...@@ -913,21 +913,6 @@ ffeequiv_add (ffeequiv eq, ffebld list, ffelexToken t)
ffeequiv_set_list (eq, ffebld_new_item (list, ffeequiv_list (eq))); ffeequiv_set_list (eq, ffebld_new_item (list, ffeequiv_list (eq)));
} }
/* ffeequiv_dump -- Dump info on equivalence object
ffeequiv eq;
ffeequiv_dump(eq); */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffeequiv_dump (ffeequiv eq)
{
if (ffeequiv_common (eq) != NULL)
fprintf (dmpout, "(common %s) ", ffesymbol_text (ffeequiv_common (eq)));
ffebld_dump (ffeequiv_list (eq));
}
#endif
/* ffeequiv_exec_transition -- Do the hard work on all the equivalence objects /* ffeequiv_exec_transition -- Do the hard work on all the equivalence objects
ffeequiv_exec_transition(); */ ffeequiv_exec_transition(); */
......
...@@ -62,9 +62,6 @@ struct _ffeequiv_ ...@@ -62,9 +62,6 @@ struct _ffeequiv_
/* Declare functions with prototypes. */ /* Declare functions with prototypes. */
void ffeequiv_add (ffeequiv eq, ffebld list, ffelexToken t); void ffeequiv_add (ffeequiv eq, ffebld list, ffelexToken t);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffeequiv_dump (ffeequiv eq);
#endif
void ffeequiv_exec_transition (void); void ffeequiv_exec_transition (void);
void ffeequiv_init_2 (void); void ffeequiv_init_2 (void);
void ffeequiv_kill (ffeequiv victim); void ffeequiv_kill (ffeequiv victim);
......
...@@ -153,13 +153,7 @@ void ffeglobal_terminate_1 (void); ...@@ -153,13 +153,7 @@ void ffeglobal_terminate_1 (void);
/* Define macros. */ /* Define macros. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
#define FFEGLOBAL_ENABLED 0
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
#define FFEGLOBAL_ENABLED 1 #define FFEGLOBAL_ENABLED 1
#else
#error
#endif
#define ffeglobal_common_init(g) ((g)->tick != 0) #define ffeglobal_common_init(g) ((g)->tick != 0)
#define ffeglobal_common_have_pad(g) ((g)->u.common.have_pad) #define ffeglobal_common_have_pad(g) ((g)->u.common.have_pad)
...@@ -198,4 +192,4 @@ void ffeglobal_terminate_1 (void); ...@@ -198,4 +192,4 @@ void ffeglobal_terminate_1 (void);
/* End of #include file. */ /* End of #include file. */
#endif /* ! GCC_F_GLOBAL_H */ #endif /* ! GCC_F_GLOBAL_H */
...@@ -96,9 +96,6 @@ struct _ffeintrin_spec_ ...@@ -96,9 +96,6 @@ struct _ffeintrin_spec_
struct _ffeintrin_imp_ struct _ffeintrin_imp_
{ {
const char *const name; /* Name of implementation. */ const char *const name; /* Name of implementation. */
#if 0 /* FFECOM_targetCURRENT == FFECOM_targetGCC */
const ffecomGfrt gfrt; /* gfrt index in library. */
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
const char *const control; const char *const control;
}; };
...@@ -136,19 +133,10 @@ static const struct _ffeintrin_imp_ imps[] = { ...@@ -136,19 +133,10 @@ static const struct _ffeintrin_imp_ imps[] = {
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC) #define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
#define DEFGEN(CODE,NAME,SPEC1,SPEC2) #define DEFGEN(CODE,NAME,SPEC1,SPEC2)
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP) #define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP)
#if 0 /* FFECOM_targetCURRENT == FFECOM_targetGCC */
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, FFECOM_gfrt ## GFRT, CONTROL },
#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
{ NAME, FFECOM_gfrt ## GFRT, CONTROL },
#elif 1 /* FFECOM_targetCURRENT == FFECOM_targetFFE */
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \ #define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, CONTROL }, { NAME, CONTROL },
#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \ #define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
{ NAME, CONTROL }, { NAME, CONTROL },
#else
#error
#endif
#include "intrin.def" #include "intrin.def"
#undef DEFNAME #undef DEFNAME
#undef DEFGEN #undef DEFGEN
......
...@@ -58,11 +58,9 @@ struct _ffeintrin_spec_ ...@@ -58,11 +58,9 @@ struct _ffeintrin_spec_
struct _ffeintrin_imp_ struct _ffeintrin_imp_
{ {
const char *const name; /* Name of implementation. */ const char *const name; /* Name of implementation. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
const ffecomGfrt gfrt_direct;/* library routine, direct-callable form. */ const ffecomGfrt gfrt_direct;/* library routine, direct-callable form. */
const ffecomGfrt gfrt_f2c; /* library routine, f2c-callable form. */ const ffecomGfrt gfrt_f2c; /* library routine, f2c-callable form. */
const ffecomGfrt gfrt_gnu; /* library routine, gnu-callable form. */ const ffecomGfrt gfrt_gnu; /* library routine, gnu-callable form. */
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
const char *const control; const char *const control;
const char y2kbad; const char y2kbad;
}; };
...@@ -117,21 +115,12 @@ static const struct _ffeintrin_imp_ ffeintrin_imps_[] ...@@ -117,21 +115,12 @@ static const struct _ffeintrin_imp_ ffeintrin_imps_[]
#define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC) #define DEFNAME(UPPER,LOWER,MIXED,GEN,SPEC)
#define DEFGEN(CODE,NAME,SPEC1,SPEC2) #define DEFGEN(CODE,NAME,SPEC1,SPEC2)
#define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP) #define DEFSPEC(CODE,NAME,CALLABLE,FAMILY,IMP)
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \ #define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, FFECOM_gfrt ## GFRTDIRECT, FFECOM_gfrt ## GFRTF2C, \ { NAME, FFECOM_gfrt ## GFRTDIRECT, FFECOM_gfrt ## GFRTF2C, \
FFECOM_gfrt ## GFRTGNU, CONTROL, FALSE }, FFECOM_gfrt ## GFRTGNU, CONTROL, FALSE },
#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \ #define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
{ NAME, FFECOM_gfrt ## GFRTDIRECT, FFECOM_gfrt ## GFRTF2C, \ { NAME, FFECOM_gfrt ## GFRTDIRECT, FFECOM_gfrt ## GFRTF2C, \
FFECOM_gfrt ## GFRTGNU, CONTROL, Y2KBAD }, FFECOM_gfrt ## GFRTGNU, CONTROL, Y2KBAD },
#elif FFECOM_targetCURRENT == FFECOM_targetFFE
#define DEFIMP(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL) \
{ NAME, CONTROL, FALSE },
#define DEFIMPY(CODE,NAME,GFRTDIRECT,GFRTF2C,GFRTGNU,CONTROL,Y2KBAD) \
{ NAME, CONTROL, Y2KBAD },
#else
#error
#endif
#include "intrin.def" #include "intrin.def"
#undef DEFNAME #undef DEFNAME
#undef DEFGEN #undef DEFGEN
...@@ -1195,7 +1184,7 @@ ffeintrin_basictype (ffeintrinSpec spec) ...@@ -1195,7 +1184,7 @@ ffeintrin_basictype (ffeintrinSpec spec)
if (ffe_is_f2c ()) if (ffe_is_f2c ())
gfrt = ffeintrin_imps_[imp].gfrt_f2c; gfrt = ffeintrin_imps_[imp].gfrt_f2c;
else else
gfrt = ffeintrin_imps_[imp].gfrt_gnu; gfrt = ffeintrin_imps_[imp].gfrt_gnu;
assert (gfrt != FFECOM_gfrt); assert (gfrt != FFECOM_gfrt);
...@@ -1523,7 +1512,6 @@ ffeintrin_fulfill_specific (ffebld *expr, ffeinfo *info, ...@@ -1523,7 +1512,6 @@ ffeintrin_fulfill_specific (ffebld *expr, ffeinfo *info,
/* Return run-time index of intrinsic implementation as direct call. */ /* Return run-time index of intrinsic implementation as direct call. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffecomGfrt ffecomGfrt
ffeintrin_gfrt_direct (ffeintrinImp imp) ffeintrin_gfrt_direct (ffeintrinImp imp)
{ {
...@@ -1531,11 +1519,9 @@ ffeintrin_gfrt_direct (ffeintrinImp imp) ...@@ -1531,11 +1519,9 @@ ffeintrin_gfrt_direct (ffeintrinImp imp)
return ffeintrin_imps_[imp].gfrt_direct; return ffeintrin_imps_[imp].gfrt_direct;
} }
#endif
/* Return run-time index of intrinsic implementation as actual argument. */ /* Return run-time index of intrinsic implementation as actual argument. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffecomGfrt ffecomGfrt
ffeintrin_gfrt_indirect (ffeintrinImp imp) ffeintrin_gfrt_indirect (ffeintrinImp imp)
{ {
...@@ -1545,7 +1531,6 @@ ffeintrin_gfrt_indirect (ffeintrinImp imp) ...@@ -1545,7 +1531,6 @@ ffeintrin_gfrt_indirect (ffeintrinImp imp)
return ffeintrin_imps_[imp].gfrt_gnu; return ffeintrin_imps_[imp].gfrt_gnu;
return ffeintrin_imps_[imp].gfrt_f2c; return ffeintrin_imps_[imp].gfrt_f2c;
} }
#endif
void void
ffeintrin_init_0 () ffeintrin_init_0 ()
...@@ -1758,13 +1743,11 @@ ffeintrin_is_actualarg (ffeintrinSpec spec) ...@@ -1758,13 +1743,11 @@ ffeintrin_is_actualarg (ffeintrinSpec spec)
state = ffeintrin_state_family (ffeintrin_specs_[spec].family); state = ffeintrin_state_family (ffeintrin_specs_[spec].family);
return (!ffe_is_pedantic () || ffeintrin_specs_[spec].is_actualarg) return (!ffe_is_pedantic () || ffeintrin_specs_[spec].is_actualarg)
#if FFECOM_targetCURRENT == FFECOM_targetGCC
&& (ffe_is_f2c () && (ffe_is_f2c ()
? (ffeintrin_imps_[ffeintrin_specs_[spec].implementation].gfrt_f2c ? (ffeintrin_imps_[ffeintrin_specs_[spec].implementation].gfrt_f2c
!= FFECOM_gfrt) != FFECOM_gfrt)
: (ffeintrin_imps_[ffeintrin_specs_[spec].implementation].gfrt_gnu : (ffeintrin_imps_[ffeintrin_specs_[spec].implementation].gfrt_gnu
!= FFECOM_gfrt)) != FFECOM_gfrt))
#endif
&& ((state == FFE_intrinsicstateENABLED) && ((state == FFE_intrinsicstateENABLED)
|| (state == FFE_intrinsicstateHIDDEN)); || (state == FFE_intrinsicstateHIDDEN));
} }
......
...@@ -105,10 +105,8 @@ ffeintrinFamily ffeintrin_family (ffeintrinSpec spec); ...@@ -105,10 +105,8 @@ ffeintrinFamily ffeintrin_family (ffeintrinSpec spec);
void ffeintrin_fulfill_generic (ffebld *expr, ffeinfo *info, ffelexToken t); void ffeintrin_fulfill_generic (ffebld *expr, ffeinfo *info, ffelexToken t);
void ffeintrin_fulfill_specific (ffebld *expr, ffeinfo *info, void ffeintrin_fulfill_specific (ffebld *expr, ffeinfo *info,
bool *check_intrin, ffelexToken t); bool *check_intrin, ffelexToken t);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffecomGfrt ffeintrin_gfrt_direct (ffeintrinImp imp); ffecomGfrt ffeintrin_gfrt_direct (ffeintrinImp imp);
ffecomGfrt ffeintrin_gfrt_indirect (ffeintrinImp imp); ffecomGfrt ffeintrin_gfrt_indirect (ffeintrinImp imp);
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
void ffeintrin_init_0 (void); void ffeintrin_init_0 (void);
#define ffeintrin_init_1() #define ffeintrin_init_1()
#define ffeintrin_init_2() #define ffeintrin_init_2()
......
...@@ -27,13 +27,11 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -27,13 +27,11 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "malloc.h" #include "malloc.h"
#include "src.h" #include "src.h"
#include "debug.h" #include "debug.h"
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#include "flags.h" #include "flags.h"
#include "input.h" #include "input.h"
#include "toplev.h" #include "toplev.h"
#include "output.h" #include "output.h"
#include "ggc.h" #include "ggc.h"
#endif
static void ffelex_append_to_token_ (char c); static void ffelex_append_to_token_ (char c);
static int ffelex_backslash_ (int c, ffewhereColumnNumber col); static int ffelex_backslash_ (int c, ffewhereColumnNumber col);
...@@ -45,10 +43,8 @@ static void ffelex_bad_2_ (ffebad errnum, ffewhereLineNumber ln0, ...@@ -45,10 +43,8 @@ static void ffelex_bad_2_ (ffebad errnum, ffewhereLineNumber ln0,
static void ffelex_bad_here_ (int num, ffewhereLineNumber ln0, static void ffelex_bad_here_ (int num, ffewhereLineNumber ln0,
ffewhereColumnNumber cn0); ffewhereColumnNumber cn0);
static void ffelex_finish_statement_ (void); static void ffelex_finish_statement_ (void);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static int ffelex_get_directive_line_ (char **text, FILE *finput); static int ffelex_get_directive_line_ (char **text, FILE *finput);
static int ffelex_hash_ (FILE *f); static int ffelex_hash_ (FILE *f);
#endif
static ffewhereColumnNumber ffelex_image_char_ (int c, static ffewhereColumnNumber ffelex_image_char_ (int c,
ffewhereColumnNumber col); ffewhereColumnNumber col);
static void ffelex_include_ (void); static void ffelex_include_ (void);
...@@ -561,7 +557,6 @@ ffelex_bad_here_ (int n, ffewhereLineNumber ln0, ...@@ -561,7 +557,6 @@ ffelex_bad_here_ (int n, ffewhereLineNumber ln0,
ffewhere_column_kill (wc0); ffewhere_column_kill (wc0);
} }
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static int static int
ffelex_getc_ (FILE *finput) ffelex_getc_ (FILE *finput)
{ {
...@@ -578,8 +573,6 @@ ffelex_getc_ (FILE *finput) ...@@ -578,8 +573,6 @@ ffelex_getc_ (FILE *finput)
return getc (finput); return getc (finput);
} }
#endif
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static int static int
ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput) ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput)
{ {
...@@ -725,10 +718,8 @@ ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput) ...@@ -725,10 +718,8 @@ ffelex_cfebackslash_ (int *use_d, int *d, FILE *finput)
return c; return c;
} }
#endif
/* A miniature version of the C front-end lexer. */ /* A miniature version of the C front-end lexer. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static int static int
ffelex_cfelex_ (ffelexToken *xtoken, FILE *finput, int c) ffelex_cfelex_ (ffelexToken *xtoken, FILE *finput, int c)
{ {
...@@ -845,9 +836,7 @@ ffelex_cfelex_ (ffelexToken *xtoken, FILE *finput, int c) ...@@ -845,9 +836,7 @@ ffelex_cfelex_ (ffelexToken *xtoken, FILE *finput, int c)
*xtoken = token; *xtoken = token;
return c; return c;
} }
#endif
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static void static void
ffelex_file_pop_ (const char *input_filename) ffelex_file_pop_ (const char *input_filename)
{ {
...@@ -868,8 +857,6 @@ ffelex_file_pop_ (const char *input_filename) ...@@ -868,8 +857,6 @@ ffelex_file_pop_ (const char *input_filename)
input_file_stack->name = input_filename; input_file_stack->name = input_filename;
} }
#endif
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static void static void
ffelex_file_push_ (int old_lineno, const char *input_filename) ffelex_file_push_ (int old_lineno, const char *input_filename)
{ {
...@@ -889,7 +876,6 @@ ffelex_file_push_ (int old_lineno, const char *input_filename) ...@@ -889,7 +876,6 @@ ffelex_file_push_ (int old_lineno, const char *input_filename)
if (input_file_stack) if (input_file_stack)
input_file_stack->name = input_filename; input_file_stack->name = input_filename;
} }
#endif
/* Prepare to finish a statement-in-progress by sending the current /* Prepare to finish a statement-in-progress by sending the current
token, if any, then setting up EOS as the current token with the token, if any, then setting up EOS as the current token with the
...@@ -980,7 +966,6 @@ ffelex_finish_statement_ () ...@@ -980,7 +966,6 @@ ffelex_finish_statement_ ()
/* Copied from gcc/c-common.c get_directive_line. */ /* Copied from gcc/c-common.c get_directive_line. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
static int static int
ffelex_get_directive_line_ (char **text, FILE *finput) ffelex_get_directive_line_ (char **text, FILE *finput)
{ {
...@@ -1052,7 +1037,6 @@ ffelex_get_directive_line_ (char **text, FILE *finput) ...@@ -1052,7 +1037,6 @@ ffelex_get_directive_line_ (char **text, FILE *finput)
char_escaped = (c == '\\' && ! char_escaped); char_escaped = (c == '\\' && ! char_escaped);
} }
} }
#endif
/* Handle # directives that make it through (or are generated by) the /* Handle # directives that make it through (or are generated by) the
preprocessor. As much as reasonably possible, emulate the behavior preprocessor. As much as reasonably possible, emulate the behavior
...@@ -1063,8 +1047,6 @@ ffelex_get_directive_line_ (char **text, FILE *finput) ...@@ -1063,8 +1047,6 @@ ffelex_get_directive_line_ (char **text, FILE *finput)
Returns the next character unhandled, which is always newline or EOF. */ Returns the next character unhandled, which is always newline or EOF. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#if defined HANDLE_PRAGMA #if defined HANDLE_PRAGMA
/* Local versions of these macros, that can be passed as function pointers. */ /* Local versions of these macros, that can be passed as function pointers. */
static int static int
...@@ -1117,7 +1099,7 @@ ffelex_hash_ (FILE *finput) ...@@ -1117,7 +1099,7 @@ ffelex_hash_ (FILE *finput)
ISSPACE() may evaluate its argument more than once! */ ISSPACE() may evaluate its argument more than once! */
while (((c = getc (finput)), ISSPACE(c))) while (((c = getc (finput)), ISSPACE(c)))
continue; continue;
do do
{ {
* buff ++ = c; * buff ++ = c;
...@@ -1127,7 +1109,7 @@ ffelex_hash_ (FILE *finput) ...@@ -1127,7 +1109,7 @@ ffelex_hash_ (FILE *finput)
&& buff < buffer + 128); && buff < buffer + 128);
pragma_ungetc (c); pragma_ungetc (c);
* -- buff = 0; * -- buff = 0;
#ifdef HANDLE_PRAGMA #ifdef HANDLE_PRAGMA
if (HANDLE_PRAGMA (pragma_getc, pragma_ungetc, buffer)) if (HANDLE_PRAGMA (pragma_getc, pragma_ungetc, buffer))
...@@ -1414,7 +1396,6 @@ ffelex_hash_ (FILE *finput) ...@@ -1414,7 +1396,6 @@ ffelex_hash_ (FILE *finput)
; ;
return c; return c;
} }
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
/* "Image" a character onto the card image, return incremented column number. /* "Image" a character onto the card image, return incremented column number.
...@@ -1538,10 +1519,8 @@ ffelex_include_ () ...@@ -1538,10 +1519,8 @@ ffelex_include_ ()
ffewhereLineNumber linecount_current = ffelex_linecount_current_; ffewhereLineNumber linecount_current = ffelex_linecount_current_;
ffewhereLineNumber linecount_offset ffewhereLineNumber linecount_offset
= ffewhere_line_filelinenum (current_wl); = ffewhere_line_filelinenum (current_wl);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
int old_lineno = lineno; int old_lineno = lineno;
const char *old_input_filename = input_filename; const char *old_input_filename = input_filename;
#endif
if (card_length != 0) if (card_length != 0)
{ {
...@@ -1559,18 +1538,14 @@ ffelex_include_ () ...@@ -1559,18 +1538,14 @@ ffelex_include_ ()
ffewhere_file_set (include_wherefile, TRUE, 0); ffewhere_file_set (include_wherefile, TRUE, 0);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffelex_file_push_ (old_lineno, ffewhere_file_name (include_wherefile)); ffelex_file_push_ (old_lineno, ffewhere_file_name (include_wherefile));
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
if (ffelex_include_free_form_) if (ffelex_include_free_form_)
ffelex_file_free (include_wherefile, include_file); ffelex_file_free (include_wherefile, include_file);
else else
ffelex_file_fixed (include_wherefile, include_file); ffelex_file_fixed (include_wherefile, include_file);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffelex_file_pop_ (ffewhere_file_name (current_wf)); ffelex_file_pop_ (ffewhere_file_name (current_wf));
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC */
ffewhere_file_set (current_wf, TRUE, linecount_offset); ffewhere_file_set (current_wf, TRUE, linecount_offset);
...@@ -1586,10 +1561,8 @@ ffelex_include_ () ...@@ -1586,10 +1561,8 @@ ffelex_include_ ()
} }
ffelex_card_image_[card_length] = '\0'; ffelex_card_image_[card_length] = '\0';
#if FFECOM_targetCURRENT == FFECOM_targetGCC
input_filename = old_input_filename; input_filename = old_input_filename;
lineno = old_lineno; lineno = old_lineno;
#endif
ffelex_linecount_current_ = linecount_current; ffelex_linecount_current_ = linecount_current;
ffelex_current_wf_ = current_wf; ffelex_current_wf_ = current_wf;
ffelex_final_nontab_column_ = final_nontab_column; ffelex_final_nontab_column_ = final_nontab_column;
...@@ -1647,9 +1620,7 @@ ffelex_next_line_ () ...@@ -1647,9 +1620,7 @@ ffelex_next_line_ ()
{ {
ffelex_linecount_current_ = ffelex_linecount_next_; ffelex_linecount_current_ = ffelex_linecount_next_;
++ffelex_linecount_next_; ++ffelex_linecount_next_;
#if FFECOM_targetCURRENT == FFECOM_targetGCC
++lineno; ++lineno;
#endif
} }
static void static void
...@@ -1865,10 +1836,8 @@ ffelex_file_fixed (ffewhereFile wf, FILE *f) ...@@ -1865,10 +1836,8 @@ ffelex_file_fixed (ffewhereFile wf, FILE *f)
assert (ffelex_handler_ != NULL); assert (ffelex_handler_ != NULL);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
lineno = 0; lineno = 0;
input_filename = ffewhere_file_name (wf); input_filename = ffewhere_file_name (wf);
#endif
ffelex_current_wf_ = wf; ffelex_current_wf_ = wf;
disallow_continuation_line = TRUE; disallow_continuation_line = TRUE;
ignore_disallowed_continuation = FALSE; ignore_disallowed_continuation = FALSE;
...@@ -1957,10 +1926,8 @@ ffelex_file_fixed (ffewhereFile wf, FILE *f) ...@@ -1957,10 +1926,8 @@ ffelex_file_fixed (ffewhereFile wf, FILE *f)
while ((c != '\n') && (c != EOF)) while ((c != '\n') && (c != EOF))
c = getc (f); c = getc (f);
} }
#if FFECOM_targetCURRENT == FFECOM_targetGCC
else if (lextype == FFELEX_typeHASH) else if (lextype == FFELEX_typeHASH)
c = ffelex_hash_ (f); c = ffelex_hash_ (f);
#endif
else if (lextype == FFELEX_typeSLASH) else if (lextype == FFELEX_typeSLASH)
{ {
/* SIDE-EFFECT ABOVE HAS HAPPENED. */ /* SIDE-EFFECT ABOVE HAS HAPPENED. */
...@@ -3077,10 +3044,8 @@ ffelex_file_free (ffewhereFile wf, FILE *f) ...@@ -3077,10 +3044,8 @@ ffelex_file_free (ffewhereFile wf, FILE *f)
assert (ffelex_handler_ != NULL); assert (ffelex_handler_ != NULL);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
lineno = 0; lineno = 0;
input_filename = ffewhere_file_name (wf); input_filename = ffewhere_file_name (wf);
#endif
ffelex_current_wf_ = wf; ffelex_current_wf_ = wf;
continuation_line = FALSE; continuation_line = FALSE;
ffelex_token_->type = FFELEX_typeNONE; ffelex_token_->type = FFELEX_typeNONE;
...@@ -3118,14 +3083,7 @@ ffelex_file_free (ffewhereFile wf, FILE *f) ...@@ -3118,14 +3083,7 @@ ffelex_file_free (ffewhereFile wf, FILE *f)
|| (c == '#')) || (c == '#'))
{ {
if (c == '#') if (c == '#')
{ c = ffelex_hash_ (f);
#if FFECOM_targetCURRENT == FFECOM_targetGCC
c = ffelex_hash_ (f);
#else
/* Don't skip over # line after all. */
break;
#endif
}
comment_line: /* :::::::::::::::::::: */ comment_line: /* :::::::::::::::::::: */
...@@ -3968,7 +3926,6 @@ ffelex_file_free (ffewhereFile wf, FILE *f) ...@@ -3968,7 +3926,6 @@ ffelex_file_free (ffewhereFile wf, FILE *f)
/* See the code in com.c that calls this to understand why. */ /* See the code in com.c that calls this to understand why. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
void void
ffelex_hash_kludge (FILE *finput) ffelex_hash_kludge (FILE *finput)
{ {
...@@ -4005,7 +3962,6 @@ ffelex_hash_kludge (FILE *finput) ...@@ -4005,7 +3962,6 @@ ffelex_hash_kludge (FILE *finput)
} }
} }
#endif
void void
ffelex_init_1 () ffelex_init_1 ()
{ {
......
...@@ -24,72 +24,28 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -24,72 +24,28 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "com.h" #include "com.h"
#include "where.h" #include "where.h"
#include "version.h" #include "version.h"
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#include "flags.h" #include "flags.h"
#endif
#define NAME_OF_STDIN "<stdin>" #define NAME_OF_STDIN "<stdin>"
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
main (int argc, char *argv[])
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
extern FILE *finput; extern FILE *finput;
int int
yyparse () yyparse ()
#else
#error
#endif
{ {
ffewhereFile wf; ffewhereFile wf;
if (ffe_is_version ()) if (ffe_is_version ())
fprintf (stderr, "GNU Fortran Front End version %s\n", ffe_version_string); fprintf (stderr, "GNU Fortran Front End version %s\n", ffe_version_string);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffe_init_0 ();
{
int strings_processed;
for (--argc, ++argv; argc > 0; argc -= strings_processed, argv += strings_processed)
{
strings_processed = ffe_decode_option (argc, argv);
if (strings_processed == 0)
{
fprintf (stderr, "Unrecognized option: %s\n", argv[0]);
strings_processed = 1;
}
}
}
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
if (!ffe_is_pedantic ()) if (!ffe_is_pedantic ())
ffe_set_is_pedantic (pedantic); ffe_set_is_pedantic (pedantic);
#else
#error
#endif
#if FFECOM_targetCURRENT == FFECOM_targetFFE
wf = ffewhere_file_new (NAME_OF_STDIN, strlen (NAME_OF_STDIN));
ffecom_file (NAME_OF_STDIN);
ffe_file (wf, stdin);
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
wf = ffewhere_file_new (main_input_filename, strlen (main_input_filename)); wf = ffewhere_file_new (main_input_filename, strlen (main_input_filename));
ffecom_file (main_input_filename); ffecom_file (main_input_filename);
ffe_file (wf, finput); ffe_file (wf, finput);
#else
#error
#endif
#if FFECOM_targetCURRENT == FFECOM_targetGCC
ffecom_finish_compile (); ffecom_finish_compile ();
return 0; return 0;
#elif FFECOM_targetCURRENT == FFECOM_targetFFE
ffe_terminate_0 ();
exit (0);
#else
#error
#endif
} }
...@@ -1452,9 +1452,6 @@ ffesta_eof () ...@@ -1452,9 +1452,6 @@ ffesta_eof ()
if (ffe_is_ffedebug ()) if (ffe_is_ffedebug ())
{ {
ffestorag_report (); ffestorag_report ();
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffesymbol_report_all ();
#endif
} }
} }
...@@ -1990,9 +1987,6 @@ ffesta_zero (ffelexToken t) ...@@ -1990,9 +1987,6 @@ ffesta_zero (ffelexToken t)
if (ffe_is_ffedebug ()) if (ffe_is_ffedebug ())
{ {
ffestorag_report (); ffestorag_report ();
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffesymbol_report_all ();
#endif
} }
ffelex_set_names (TRUE); ffelex_set_names (TRUE);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -147,16 +147,10 @@ void ffeste_V026 (ffestpFindStmt *info); ...@@ -147,16 +147,10 @@ void ffeste_V026 (ffestpFindStmt *info);
#define ffeste_init_2() #define ffeste_init_2()
#define ffeste_init_3() #define ffeste_init_3()
#define ffeste_init_4() #define ffeste_init_4()
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#define ffeste_filename() input_filename #define ffeste_filename() input_filename
#define ffeste_filelinenum() lineno #define ffeste_filelinenum() lineno
#define ffeste_set_line(name,num) \ #define ffeste_set_line(name,num) \
(input_filename = (name), lineno = (num)) (input_filename = (name), lineno = (num))
#elif FFECOM_targetCURRENT == FFECOM_targetFFE
#define ffeste_set_line(name,num)
#else
#error
#endif /* FFECOM_targetCURRENT == FFECOM_targetFFE */
#define ffeste_terminate_0() #define ffeste_terminate_0()
#define ffeste_terminate_1() #define ffeste_terminate_1()
#ifdef ENABLE_CHECKING #ifdef ENABLE_CHECKING
......
...@@ -114,35 +114,6 @@ ffestt_caselist_create () ...@@ -114,35 +114,6 @@ ffestt_caselist_create ()
return new; return new;
} }
/* ffestt_caselist_dump -- Dump list of cases
ffesttCaseList list;
ffestt_caselist_dump(list);
The cases in the list are dumped with commas separating them. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffestt_caselist_dump (ffesttCaseList list)
{
ffesttCaseList next;
for (next = list->next; next != list; next = next->next)
{
if (next != list->next)
fputc (',', dmpout);
if (next->expr1 != NULL)
ffebld_dump (next->expr1);
if (next->range)
{
fputc (':', dmpout);
if (next->expr2 != NULL)
ffebld_dump (next->expr2);
}
}
}
#endif
/* ffestt_caselist_kill -- Kill list of cases /* ffestt_caselist_kill -- Kill list of cases
ffesttCaseList list; ffesttCaseList list;
...@@ -438,32 +409,6 @@ ffestt_dimlist_create () ...@@ -438,32 +409,6 @@ ffestt_dimlist_create ()
return new; return new;
} }
/* ffestt_dimlist_dump -- Dump list of dims
ffesttDimList list;
ffestt_dimlist_dump(list);
The dims in the list are dumped with commas separating them. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffestt_dimlist_dump (ffesttDimList list)
{
ffesttDimList next;
for (next = list->next; next != list; next = next->next)
{
if (next != list->next)
fputc (',', dmpout);
if (next->lower != NULL)
ffebld_dump (next->lower);
fputc (':', dmpout);
if (next->upper != NULL)
ffebld_dump (next->upper);
}
}
#endif
/* ffestt_dimlist_kill -- Kill list of dims /* ffestt_dimlist_kill -- Kill list of dims
ffesttDimList list; ffesttDimList list;
...@@ -611,28 +556,6 @@ ffestt_exprlist_drive (ffesttExprList list, void (*fn) (ffebld, ffelexToken)) ...@@ -611,28 +556,6 @@ ffestt_exprlist_drive (ffesttExprList list, void (*fn) (ffebld, ffelexToken))
} }
} }
/* ffestt_exprlist_dump -- Dump list of exprs
ffesttExprList list;
ffestt_exprlist_dump(list);
The exprs in the list are dumped with commas separating them. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffestt_exprlist_dump (ffesttExprList list)
{
ffesttExprList next;
for (next = list->next; next != list; next = next->next)
{
if (next != list->next)
fputc (',', dmpout);
ffebld_dump (next->expr);
}
}
#endif
/* ffestt_exprlist_kill -- Kill list of exprs /* ffestt_exprlist_kill -- Kill list of exprs
ffesttExprList list; ffesttExprList list;
...@@ -850,35 +773,6 @@ ffestt_implist_drive (ffesttImpList list, void (*fn) (ffelexToken, ffelexToken)) ...@@ -850,35 +773,6 @@ ffestt_implist_drive (ffesttImpList list, void (*fn) (ffelexToken, ffelexToken))
} }
} }
/* ffestt_implist_dump -- Dump list of token pairs
ffesttImpList list;
ffestt_implist_dump(list);
The token pairs in the list are dumped with commas separating them. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffestt_implist_dump (ffesttImpList list)
{
ffesttImpList next;
for (next = list->next; next != list; next = next->next)
{
if (next != list->next)
fputc (',', dmpout);
assert (ffelex_token_type (next->first) == FFELEX_typeNAME);
fputs (ffelex_token_text (next->first), dmpout);
if (next->last != NULL)
{
fputc ('-', dmpout);
assert (ffelex_token_type (next->last) == FFELEX_typeNAME);
fputs (ffelex_token_text (next->last), dmpout);
}
}
}
#endif
/* ffestt_implist_kill -- Kill list of token pairs /* ffestt_implist_kill -- Kill list of token pairs
ffesttImpList list; ffesttImpList list;
...@@ -964,44 +858,6 @@ ffestt_tokenlist_drive (ffesttTokenList tl, void (*fn) (ffelexToken)) ...@@ -964,44 +858,6 @@ ffestt_tokenlist_drive (ffesttTokenList tl, void (*fn) (ffelexToken))
} }
} }
/* ffestt_tokenlist_dump -- Dump list of tokens
ffesttTokenList tl;
ffestt_tokenlist_dump(tl);
The tokens in the list are dumped with commas separating them. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffestt_tokenlist_dump (ffesttTokenList tl)
{
ffesttTokenItem ti;
for (ti = tl->first; ti != (ffesttTokenItem) &tl->first; ti = ti->next)
{
if (ti != tl->first)
fputc (',', dmpout);
switch (ffelex_token_type (ti->t))
{
case FFELEX_typeNUMBER:
case FFELEX_typeNAME:
case FFELEX_typeNAMES:
fputs (ffelex_token_text (ti->t), dmpout);
break;
case FFELEX_typeASTERISK:
fputc ('*', dmpout);
break;
default:
assert (FALSE);
fputc ('?', dmpout);
break;
}
}
}
#endif
/* ffestt_tokenlist_handle -- Handle list of tokens /* ffestt_tokenlist_handle -- Handle list of tokens
ffesttTokenList tl; ffesttTokenList tl;
......
...@@ -164,9 +164,6 @@ struct _ffest_format_list_ ...@@ -164,9 +164,6 @@ struct _ffest_format_list_
void ffestt_caselist_append (ffesttCaseList list, bool range, ffebld case1, void ffestt_caselist_append (ffesttCaseList list, bool range, ffebld case1,
ffebld case2, ffelexToken t); ffebld case2, ffelexToken t);
ffesttCaseList ffestt_caselist_create (void); ffesttCaseList ffestt_caselist_create (void);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_caselist_dump (ffesttCaseList list);
#endif
void ffestt_caselist_kill (ffesttCaseList list); void ffestt_caselist_kill (ffesttCaseList list);
void ffestt_dimlist_append (ffesttDimList list, ffebld lower, ffebld upper, void ffestt_dimlist_append (ffesttDimList list, ffebld lower, ffebld upper,
ffelexToken t); ffelexToken t);
...@@ -174,39 +171,24 @@ ffebld ffestt_dimlist_as_expr (ffesttDimList list, ffeinfoRank *rank, ...@@ -174,39 +171,24 @@ ffebld ffestt_dimlist_as_expr (ffesttDimList list, ffeinfoRank *rank,
ffebld *array_size, ffebld *extents, ffebld *array_size, ffebld *extents,
bool is_ugly_assumed); bool is_ugly_assumed);
ffesttDimList ffestt_dimlist_create (void); ffesttDimList ffestt_dimlist_create (void);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_dimlist_dump (ffesttDimList list);
#endif
void ffestt_dimlist_kill (ffesttDimList list); void ffestt_dimlist_kill (ffesttDimList list);
ffestpDimtype ffestt_dimlist_type (ffesttDimList dims, bool is_ugly_assumed); ffestpDimtype ffestt_dimlist_type (ffesttDimList dims, bool is_ugly_assumed);
void ffestt_exprlist_append (ffesttExprList list, ffebld expr, ffelexToken t); void ffestt_exprlist_append (ffesttExprList list, ffebld expr, ffelexToken t);
ffesttExprList ffestt_exprlist_create (void); ffesttExprList ffestt_exprlist_create (void);
void ffestt_exprlist_drive (ffesttExprList list, void (*fn) (ffebld, ffelexToken)); void ffestt_exprlist_drive (ffesttExprList list, void (*fn) (ffebld, ffelexToken));
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_exprlist_dump (ffesttExprList list);
#endif
void ffestt_exprlist_kill (ffesttExprList list); void ffestt_exprlist_kill (ffesttExprList list);
ffesttFormatList ffestt_formatlist_append (ffesttFormatList list); ffesttFormatList ffestt_formatlist_append (ffesttFormatList list);
ffesttFormatList ffestt_formatlist_create (ffesttFormatList parent, ffesttFormatList ffestt_formatlist_create (ffesttFormatList parent,
ffelexToken t); ffelexToken t);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_formatlist_dump (ffesttFormatList list);
#endif
void ffestt_formatlist_kill (ffesttFormatList list); void ffestt_formatlist_kill (ffesttFormatList list);
void ffestt_implist_append (ffesttImpList list, ffelexToken first, void ffestt_implist_append (ffesttImpList list, ffelexToken first,
ffelexToken last); ffelexToken last);
ffesttImpList ffestt_implist_create (void); ffesttImpList ffestt_implist_create (void);
void ffestt_implist_drive (ffesttImpList list, void (*fn) (ffelexToken, ffelexToken)); void ffestt_implist_drive (ffesttImpList list, void (*fn) (ffelexToken, ffelexToken));
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_implist_dump (ffesttImpList list);
#endif
void ffestt_implist_kill (ffesttImpList list); void ffestt_implist_kill (ffesttImpList list);
void ffestt_tokenlist_append (ffesttTokenList list, ffelexToken t); void ffestt_tokenlist_append (ffesttTokenList list, ffelexToken t);
ffesttTokenList ffestt_tokenlist_create (void); ffesttTokenList ffestt_tokenlist_create (void);
void ffestt_tokenlist_drive (ffesttTokenList list, void (*fn) (ffelexToken)); void ffestt_tokenlist_drive (ffesttTokenList list, void (*fn) (ffelexToken));
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffestt_tokenlist_dump (ffesttTokenList list);
#endif
ffelexHandler ffestt_tokenlist_handle (ffesttTokenList list, ffelexHandler ffestt_tokenlist_handle (ffesttTokenList list,
ffelexHandler handler); ffelexHandler handler);
void ffestt_tokenlist_kill (ffesttTokenList list); void ffestt_tokenlist_kill (ffesttTokenList list);
......
...@@ -73,7 +73,6 @@ struct _ffestw_ ...@@ -73,7 +73,6 @@ struct _ffestw_
int uses_; /* # uses (new+use-kill calls). */ int uses_; /* # uses (new+use-kill calls). */
ffestvState state_; ffestvState state_;
int substate_; /* Used on a per-block-state basis. */ int substate_; /* Used on a per-block-state basis. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
struct nesting *do_hook_; /* backend id for given loop (EXIT/CYCLE). */ struct nesting *do_hook_; /* backend id for given loop (EXIT/CYCLE). */
tree do_tvar_; /* tree form of do_iter_var. */ tree do_tvar_; /* tree form of do_iter_var. */
tree do_incr_saved_; /* tree SAVED_EXPR of incr expr. */ tree do_incr_saved_; /* tree SAVED_EXPR of incr expr. */
...@@ -82,7 +81,6 @@ struct _ffestw_ ...@@ -82,7 +81,6 @@ struct _ffestw_
bool select_break_; /* TRUE when CASE should start with gen bool select_break_; /* TRUE when CASE should start with gen
"break;". */ "break;". */
int ifthen_fake_else_; /* Number of fake `else' introductions. */ int ifthen_fake_else_; /* Number of fake `else' introductions. */
#endif /* FFECOM_targetCURRENT == FFECOM_targetGCC*/
}; };
struct _ffestw_case_ struct _ffestw_case_
......
...@@ -47,15 +47,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -47,15 +47,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Choose how to handle global symbols here. */ /* Choose how to handle global symbols here. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
#define FFESYMBOL_globalCURRENT_ FFESYMBOL_globalPROGUNIT_
#elif FFECOM_targetCURRENT == FFECOM_targetGCC
/* Would be good to understand why PROGUNIT in this case too. /* Would be good to understand why PROGUNIT in this case too.
(1995-08-22). */ (1995-08-22). */
#define FFESYMBOL_globalCURRENT_ FFESYMBOL_globalPROGUNIT_ #define FFESYMBOL_globalCURRENT_ FFESYMBOL_globalPROGUNIT_
#else
#error
#endif
/* Choose how to handle memory pools based on global symbol stuff. */ /* Choose how to handle memory pools based on global symbol stuff. */
...@@ -793,45 +787,6 @@ ffesymbol_drive_sfnames (ffesymbol (*fn) (ffesymbol)) ...@@ -793,45 +787,6 @@ ffesymbol_drive_sfnames (ffesymbol (*fn) (ffesymbol))
ffename_space_drive_symbol (ffesymbol_sfunc_, fn); ffename_space_drive_symbol (ffesymbol_sfunc_, fn);
} }
/* Dump info on the symbol for debugging purposes. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffesymbol_dump (ffesymbol s)
{
ffeinfoKind k;
ffeinfoWhere w;
assert (s != NULL);
if (ffeinfo_size (s->info) != FFETARGET_charactersizeNONE)
fprintf (dmpout, "%s:%d%s%s*%" ffetargetCharacterSize_f "u",
ffesymbol_text (s),
(int) ffeinfo_rank (s->info),
ffeinfo_basictype_string (ffeinfo_basictype (s->info)),
ffeinfo_kindtype_string (ffeinfo_kindtype (s->info)),
ffeinfo_size (s->info));
else
fprintf (dmpout, "%s:%d%s%s",
ffesymbol_text (s),
(int) ffeinfo_rank (s->info),
ffeinfo_basictype_string (ffeinfo_basictype (s->info)),
ffeinfo_kindtype_string (ffeinfo_kindtype (s->info)));
if ((k = ffeinfo_kind (s->info)) != FFEINFO_kindNONE)
fprintf (dmpout, "/%s", ffeinfo_kind_string (k));
if ((w = ffeinfo_where (s->info)) != FFEINFO_whereNONE)
fprintf (dmpout, "@%s", ffeinfo_where_string (w));
if ((s->generic != FFEINTRIN_genNONE)
|| (s->specific != FFEINTRIN_specNONE)
|| (s->implementation != FFEINTRIN_impNONE))
fprintf (dmpout, "{%s:%s:%s}",
ffeintrin_name_generic (s->generic),
ffeintrin_name_specific (s->specific),
ffeintrin_name_implementation (s->implementation));
}
#endif
/* Produce generic error message about a symbol. /* Produce generic error message about a symbol.
For now, just output error message using symbol's name and pointing to For now, just output error message using symbol's name and pointing to
...@@ -1012,184 +967,6 @@ ffesymbol_reference (ffesymbol s, ffelexToken t, bool explicit) ...@@ -1012,184 +967,6 @@ ffesymbol_reference (ffesymbol s, ffelexToken t, bool explicit)
ffesymbol_error (s, NULL); ffesymbol_error (s, NULL);
} }
/* Report info on the symbol for debugging purposes. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffesymbol
ffesymbol_report (ffesymbol s)
{
ffeinfoKind k;
ffeinfoWhere w;
assert (s != NULL);
if (s->reported)
return s;
s->reported = TRUE;
if (ffeinfo_size (s->info) != FFETARGET_charactersizeNONE)
fprintf (dmpout, "\"%s\": %s %s %d%s%s*%" ffetargetCharacterSize_f "u",
ffesymbol_text (s),
ffesymbol_state_string (s->state),
ffesymbol_attrs_string (s->attrs),
(int) ffeinfo_rank (s->info),
ffeinfo_basictype_string (ffeinfo_basictype (s->info)),
ffeinfo_kindtype_string (ffeinfo_kindtype (s->info)),
ffeinfo_size (s->info));
else
fprintf (dmpout, "\"%s\": %s %s %d%s%s",
ffesymbol_text (s),
ffesymbol_state_string (s->state),
ffesymbol_attrs_string (s->attrs),
(int) ffeinfo_rank (s->info),
ffeinfo_basictype_string (ffeinfo_basictype (s->info)),
ffeinfo_kindtype_string (ffeinfo_kindtype (s->info)));
if ((k = ffeinfo_kind (s->info)) != FFEINFO_kindNONE)
fprintf (dmpout, "/%s", ffeinfo_kind_string (k));
if ((w = ffeinfo_where (s->info)) != FFEINFO_whereNONE)
fprintf (dmpout, "@%s", ffeinfo_where_string (w));
fputc ('\n', dmpout);
if (s->dims != NULL)
{
fprintf (dmpout, " dims: ");
ffebld_dump (s->dims);
fputs ("\n", dmpout);
}
if (s->extents != NULL)
{
fprintf (dmpout, " extents: ");
ffebld_dump (s->extents);
fputs ("\n", dmpout);
}
if (s->dim_syms != NULL)
{
fprintf (dmpout, " dim syms: ");
ffebld_dump (s->dim_syms);
fputs ("\n", dmpout);
}
if (s->array_size != NULL)
{
fprintf (dmpout, " array size: ");
ffebld_dump (s->array_size);
fputs ("\n", dmpout);
}
if (s->init != NULL)
{
fprintf (dmpout, " init-value: ");
if (ffebld_op (s->init) == FFEBLD_opANY)
fputs ("<any>\n", dmpout);
else
{
ffebld_dump (s->init);
fputs ("\n", dmpout);
}
}
if (s->accretion != NULL)
{
fprintf (dmpout, " accretion (%" ffetargetOffset_f "d left): ",
s->accretes);
ffebld_dump (s->accretion);
fputs ("\n", dmpout);
}
else if (s->accretes != 0)
fprintf (dmpout, " accretes!! = %" ffetargetOffset_f "d left\n",
s->accretes);
if (s->dummy_args != NULL)
{
fprintf (dmpout, " dummies: ");
ffebld_dump (s->dummy_args);
fputs ("\n", dmpout);
}
if (s->namelist != NULL)
{
fprintf (dmpout, " namelist: ");
ffebld_dump (s->namelist);
fputs ("\n", dmpout);
}
if (s->common_list != NULL)
{
fprintf (dmpout, " common-list: ");
ffebld_dump (s->common_list);
fputs ("\n", dmpout);
}
if (s->sfunc_expr != NULL)
{
fprintf (dmpout, " sfunc expression: ");
ffebld_dump (s->sfunc_expr);
fputs ("\n", dmpout);
}
if (s->is_save)
{
fprintf (dmpout, " SAVEd\n");
}
if (s->is_init)
{
fprintf (dmpout, " initialized\n");
}
if (s->do_iter)
{
fprintf (dmpout, " DO-loop iteration variable (currently)\n");
}
if (s->explicit_where)
{
fprintf (dmpout, " Explicit INTRINSIC/EXTERNAL\n");
}
if (s->namelisted)
{
fprintf (dmpout, " Namelisted\n");
}
if (s->common != NULL)
{
fprintf (dmpout, " COMMON area: %s\n", ffesymbol_text (s->common));
}
if (s->equiv != NULL)
{
fprintf (dmpout, " EQUIVALENCE information: ");
ffeequiv_dump (s->equiv);
fputs ("\n", dmpout);
}
if (s->storage != NULL)
{
fprintf (dmpout, " Storage: ");
ffestorag_dump (s->storage);
fputs ("\n", dmpout);
}
return s;
}
#endif
/* Report info on the symbols. */
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void
ffesymbol_report_all ()
{
ffename_space_drive_symbol (ffesymbol_sfunc_, ffesymbol_report);
ffename_space_drive_symbol (ffesymbol_local_, ffesymbol_report);
ffename_space_drive_symbol (ffesymbol_global_, ffesymbol_report);
}
#endif
/* Resolve symbol that has become known intrinsic or non-intrinsic. */ /* Resolve symbol that has become known intrinsic or non-intrinsic. */
void void
......
...@@ -182,9 +182,6 @@ ffesymbol ffesymbol_declare_subrunit (ffelexToken t); ...@@ -182,9 +182,6 @@ ffesymbol ffesymbol_declare_subrunit (ffelexToken t);
void ffesymbol_drive (ffesymbol (*fn) (ffesymbol)); void ffesymbol_drive (ffesymbol (*fn) (ffesymbol));
void ffesymbol_drive_sfnames (ffesymbol (*fn) (ffesymbol)); void ffesymbol_drive_sfnames (ffesymbol (*fn) (ffesymbol));
#define ffesymbol_dummyargs(s) ((s)->dummy_args) #define ffesymbol_dummyargs(s) ((s)->dummy_args)
#if FFECOM_targetCURRENT == FFECOM_targetFFE
void ffesymbol_dump (ffesymbol s);
#endif
void ffesymbol_error (ffesymbol s, ffelexToken t); void ffesymbol_error (ffesymbol s, ffelexToken t);
#define ffesymbol_equiv(s) ((s)->equiv) #define ffesymbol_equiv(s) ((s)->equiv)
#define ffesymbol_explicitwhere(s) ((s)->explicit_where) #define ffesymbol_explicitwhere(s) ((s)->explicit_where)
...@@ -223,10 +220,6 @@ ffesymbol ffesymbol_lookup_local (ffelexToken t); ...@@ -223,10 +220,6 @@ ffesymbol ffesymbol_lookup_local (ffelexToken t);
#define ffesymbol_ptr_to_namelist(s) (&(s)->namelist) #define ffesymbol_ptr_to_namelist(s) (&(s)->namelist)
#define ffesymbol_rank(s) ffeinfo_rank((s)->info) #define ffesymbol_rank(s) ffeinfo_rank((s)->info)
void ffesymbol_reference (ffesymbol s, ffelexToken t, bool explicit); void ffesymbol_reference (ffesymbol s, ffelexToken t, bool explicit);
#if FFECOM_targetCURRENT == FFECOM_targetFFE
ffesymbol ffesymbol_report (ffesymbol s);
void ffesymbol_report_all (void);
#endif
void ffesymbol_resolve_intrin (ffesymbol s); void ffesymbol_resolve_intrin (ffesymbol s);
void ffesymbol_retract (bool retract); void ffesymbol_retract (bool retract);
bool ffesymbol_retractable (void); bool ffesymbol_retractable (void);
......
...@@ -860,13 +860,9 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len); ...@@ -860,13 +860,9 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
/* Define macros. */ /* Define macros. */
#if BUILT_FOR_280 #define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt) \
#define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt) \ REAL_VALUE_FROM_INT (resr, (long) lf, (long) ((lf < 0) ? -1 : 0), \
REAL_VALUE_FROM_INT (resr, (long) lf, (long) ((lf < 0) ? -1 : 0), ((kt == 1) ? SFmode : DFmode)) ((kt == 1) ? SFmode : DFmode))
#else
#define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt) \
REAL_VALUE_FROM_INT (resr, (long) lf, (long) ((lf < 0) ? -1 : 0))
#endif
#ifdef REAL_ARITHMETIC #ifdef REAL_ARITHMETIC
#define ffetarget_add_complex1(res,l,r) \ #define ffetarget_add_complex1(res,l,r) \
......
...@@ -53,10 +53,8 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -53,10 +53,8 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "symbol.h" #include "symbol.h"
#include "target.h" #include "target.h"
#include "where.h" #include "where.h"
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#include "flags.h" #include "flags.h"
#include "toplev.h" #include "toplev.h"
#endif
/* Externals defined here. */ /* Externals defined here. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment