From: Nathan Sidwell Date: Sat, 3 May 2003 16:39:50 +0000 (+0000) Subject: com.c (ffecom_do_entry_): Use location_t and input_location directly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=31423e30eeeb688c09434451706da181ad17ac2b;p=gcc.git com.c (ffecom_do_entry_): Use location_t and input_location directly. * com.c (ffecom_do_entry_): Use location_t and input_location directly. (ffecom_gen_sfuncdef_): Likewise. (ffecom_start_progunit_): Likewise. (ffecom_sym_transform_): Likewise. (ffecom_sym_transform_assign_): Likewise. * lex.c (ffelex_hash_): Likewise. (ffelex_include_): Likewise. * std.c (ffestd_exec_begin): Likewise. (ffestd_exec_end): Likewise. * ste.c (struct gbe_block): Likewise. (ffeste_start_block_): Likewise. (ffeste_start_stmt_): Likewise. From-SVN: r66432 --- diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 0cd2312243d..503e851b971 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,19 @@ +2003-05-03 Nathan Sidwell + + * com.c (ffecom_do_entry_): Use location_t and input_location + directly. + (ffecom_gen_sfuncdef_): Likewise. + (ffecom_start_progunit_): Likewise. + (ffecom_sym_transform_): Likewise. + (ffecom_sym_transform_assign_): Likewise. + * lex.c (ffelex_hash_): Likewise. + (ffelex_include_): Likewise. + * std.c (ffestd_exec_begin): Likewise. + (ffestd_exec_end): Likewise. + * ste.c (struct gbe_block): Likewise. + (ffeste_start_block_): Likewise. + (ffeste_start_stmt_): Likewise. + 2003-05-03 Nathan Sidwell * ansify.c (die_unless): Revert lineno change here. diff --git a/gcc/f/com.c b/gcc/f/com.c index a84f8076032..36658f2ce72 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -2582,9 +2582,9 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum) CHARACTER. */ bool cmplxfunc; /* Use f2c way of returning COMPLEX. */ bool multi; /* Master fn has multiple return types. */ - bool altreturning = FALSE; /* This entry point has alternate returns. */ - int old_lineno = input_line; - const char *old_input_filename = input_filename; + bool altreturning = FALSE; /* This entry point has alternate + returns. */ + location_t old_loc = input_location; input_filename = ffesymbol_where_filename (fn); input_line = ffesymbol_where_filelinenum (fn); @@ -2917,9 +2917,8 @@ ffecom_do_entry_ (ffesymbol fn, int entrynum) finish_function (0); - input_line = old_lineno; - input_filename = old_input_filename; - + input_location = old_loc; + ffecom_doing_entry_ = FALSE; } @@ -6110,8 +6109,7 @@ ffecom_gen_sfuncdef_ (ffesymbol s, ffeinfoBasictype bt, ffeinfoKindtype kt) tree result; bool charfunc = (bt == FFEINFO_basictypeCHARACTER); static bool recurse = FALSE; - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; ffecom_nested_entry_ = s; @@ -6221,8 +6219,7 @@ ffecom_gen_sfuncdef_ (ffesymbol s, ffeinfoBasictype bt, ffeinfoKindtype kt) recurse = FALSE; - input_line = old_lineno; - input_filename = old_input_filename; + input_location = old_loc; ffecom_nested_entry_ = NULL; @@ -7080,8 +7077,7 @@ ffecom_start_progunit_ () && (ffecom_primary_entry_kind_ == FFEINFO_kindFUNCTION) && (ffecom_master_bt_ == FFEINFO_basictypeNONE); bool main_program = FALSE; - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; assert (fn != NULL); assert (ffesymbol_hook (fn).decl_tree == NULL_TREE); @@ -7269,8 +7265,7 @@ ffecom_start_progunit_ () /* Disallow temp vars at this level. */ current_binding_level->prep_state = 2; - input_line = old_lineno; - input_filename = old_input_filename; + input_location = old_loc; /* This handles any symbols still untransformed, in case -g specified. This used to be done in ffecom_finish_progunit, but it turns out to @@ -7298,9 +7293,8 @@ ffecom_sym_transform_ (ffesymbol s) ffeinfoBasictype bt; ffeinfoKindtype kt; ffeglobal g; - int old_lineno = input_line; - const char *old_input_filename = input_filename; - + location_t old_loc = input_location; + /* Must ensure special ASSIGN variables are declared at top of outermost block, else they'll end up in the innermost block when their first ASSIGN is seen, which leaves them out of scope when they're the @@ -8294,8 +8288,7 @@ ffecom_sym_transform_ (ffesymbol s) ffesymbol_hook (s).length_tree = tlen; ffesymbol_hook (s).addr = addr; - input_line = old_lineno; - input_filename = old_input_filename; + input_location = old_loc; return s; } @@ -8312,8 +8305,7 @@ static ffesymbol ffecom_sym_transform_assign_ (ffesymbol s) { tree t; /* Transformed thingy. */ - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; if (ffesymbol_sfdummyparent (s) == NULL) { @@ -8375,8 +8367,7 @@ ffecom_sym_transform_assign_ (ffesymbol s) ffesymbol_hook (s).assign_tree = t; - input_line = old_lineno; - input_filename = old_input_filename; + input_location = old_loc; return s; } diff --git a/gcc/f/lex.c b/gcc/f/lex.c index abdea332cef..0c1fdafa6a0 100644 --- a/gcc/f/lex.c +++ b/gcc/f/lex.c @@ -1193,8 +1193,7 @@ ffelex_hash_ (FILE *finput) if ((token != NULL) && (ffelex_token_type (token) == FFELEX_typeNUMBER)) { - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; ffewhereFile wf; /* subtract one, because it is the following line that @@ -1281,14 +1280,14 @@ ffelex_hash_ (FILE *finput) if (ffelex_kludge_flag_) { input_line = 1; - input_filename = old_input_filename; + input_filename = old_loc.file; error ("use `#line ...' instead of `# ...' in first line"); } if (num == 1) { /* Pushing to a new file. */ - ffelex_file_push_ (old_lineno, input_filename); + ffelex_file_push_ (old_loc.line, input_filename); } else if (num == 2) { @@ -1325,7 +1324,7 @@ ffelex_hash_ (FILE *finput) && ffelex_kludge_flag_) { input_line = 1; - input_filename = old_input_filename; + input_filename = old_loc.file; error ("use `#line ...' instead of `# ...' in first line"); } if (c == '\n' || c == EOF) @@ -1470,8 +1469,7 @@ ffelex_include_ () ffewhereLineNumber linecount_current = ffelex_linecount_current_; ffewhereLineNumber linecount_offset = ffewhere_line_filelinenum (current_wl); - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; if (card_length != 0) { @@ -1489,7 +1487,7 @@ ffelex_include_ () ffewhere_file_set (include_wherefile, TRUE, 0); - ffelex_file_push_ (old_lineno, ffewhere_file_name (include_wherefile)); + ffelex_file_push_ (old_loc.line, ffewhere_file_name (include_wherefile)); if (ffelex_include_free_form_) ffelex_file_free (include_wherefile, include_file); @@ -1512,8 +1510,7 @@ ffelex_include_ () } ffelex_card_image_[card_length] = '\0'; - input_filename = old_input_filename; - input_line = old_lineno; + input_location = old_loc; ffelex_linecount_current_ = linecount_current; ffelex_current_wf_ = current_wf; ffelex_final_nontab_column_ = final_nontab_column; diff --git a/gcc/f/std.c b/gcc/f/std.c index 439ae887c38..27b5bfeb24a 100644 --- a/gcc/f/std.c +++ b/gcc/f/std.c @@ -1423,8 +1423,7 @@ ffestd_exec_begin () void ffestd_exec_end () { - int old_lineno = input_line; - const char *old_input_filename = input_filename; + location_t old_loc = input_location; ffecom_end_transition (); @@ -1456,8 +1455,7 @@ ffestd_exec_end () ffestd_stmt_list_.last = NULL; ffestd_2pass_entrypoints_ = 0; - input_line = old_lineno; - input_filename = old_input_filename; + input_location = old_loc; } /* ffestd_init_3 -- Initialize for any program unit diff --git a/gcc/f/ste.c b/gcc/f/ste.c index 1648d8fef9b..f27c93ec296 100644 --- a/gcc/f/ste.c +++ b/gcc/f/ste.c @@ -387,8 +387,7 @@ typedef struct gbe_block { struct gbe_block *outer; ffestw block; - int lineno; - const char *filename; + location_t location; bool is_stmt; } *gbe_block; @@ -401,8 +400,7 @@ ffeste_start_block_ (ffestw block) b->outer = ffeste_top_block_; b->block = block; - b->lineno = input_line; - b->filename = input_filename; + b->location = input_location; b->is_stmt = FALSE; ffeste_top_block_ = b; @@ -443,8 +441,7 @@ ffeste_start_stmt_(void) b->outer = ffeste_top_block_; b->block = NULL; - b->lineno = input_line; - b->filename = input_filename; + b->location = input_location; b->is_stmt = TRUE; ffeste_top_block_ = b;