From cbb9e6aa60312ced2492aedccb38dc1a587fe570 Mon Sep 17 00:00:00 2001 From: tobi Date: Thu, 27 May 2004 12:35:12 +0000 Subject: * gfortran.h (gfc_current_locus, gfc_set_locus): Remove. (gfc_current_locus): Declare new global variable. * scanner.c (gfc_current_locus, gfc_set_locus): Remove. (gfc_current_locus1): Rename ... (gfc_current_locus): ... to this. (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char, skip_fixed_comments, skip_free_comments, gfc_next_char_literal, gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use gfc_current_locus instead of gfc_current_locus1, gfc_set_locus() and gfc_current_locus(), respectively. * array.c (match_subscript, gfc_match_array_ref, match_array_list, match_array_cons_element, gfc_match_array_constructor): Read/modify gfc_current_locus instead of calling gfc_set_locus() and gfc_current_locus(). * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec, match_attr_spec, gfc_match_function_decl, gfc_match_end, attr_decl1, gfc_match_save): Likewise. * error.c (error_print, gfc_internal_error): Likewise. * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise. * interface.c (gfc_add_interface): Likewise. * io.c (gfc_match_format, match_dt_format, match_dt_element, match_io_iterator, match_io): Likewise. * match.c (gfc_match_space, gfc_match_eos, gfc_match_small_literal_int, gfc_match_st_label, gfc_match_strings, gfc_match_name, gfc_match_iterator, gfc_match_char, gfc_match, gfc_match_assignment, gfc_match_pointer_assignment, gfc_match_if, gfc_match_do, gfc_match_nullify, gfc_match_call, match_implicit_range, gfc_match_implicit, gfc_match_data, match_case_selector, gfc_match_case, match_forall_iterator): Likewise. * matchexp.c (gfc_match_defined_op_name, next_operator, match_level_1, match_mult_operand, match_ext_mult_operand, match_add_operand, match_ext_add_operand, match_level_2, match_level_3, match_level_4, match_and_operand, match_or_operand, match_equiv_operand, match_level_5, gfc_match_expr): Likewise. * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise. * parse.c (match_word, decode_statement, next_free, next_fixed, add_statement, verify_st_order, parse_if_block, gfc_parse_file): Likewise. * primary.c (match_digits, match_integer_constant, match_boz_constant, match_real_constant, match_substring, next_string_char, match_charkind_name, match_string_constant, match_logical_constant, match_const_complex_part, match_complex_constant, match_actual_arg, match_keyword_arg, gfc_match_actual_arglist, gfc_match_structure_constructor, gfc_match_rvalue, gfc_match_variable): Likewise. * st.c (gfc_get_code): Likewise. * symbol.c (check_conflict, check_used, check_done, duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent, gfc_add_access, gfc_add_explicit_interface, gfc_add_type, gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82320 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/scanner.c | 80 +++++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 51 deletions(-) (limited to 'gcc/fortran/scanner.c') diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index a16c2749ce8..b280e1417ba 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -67,7 +67,7 @@ static int continue_flag, end_flag; gfc_source_form gfc_current_form; static gfc_linebuf *line_head, *line_tail; -locus gfc_current_locus1; +locus gfc_current_locus; char *gfc_source_file; @@ -191,28 +191,6 @@ gfc_open_included_file (const char *name) return NULL; } - -/* Return a pointer to the current locus. */ - -locus * -gfc_current_locus (void) -{ - - return &gfc_current_locus1; -} - - - -/* Let a caller move the current read pointer (backwards). */ - -void -gfc_set_locus (locus * lp) -{ - - gfc_current_locus1 = *lp; -} - - /* Test to see if we're at the end of the main source file. */ int @@ -235,7 +213,7 @@ gfc_at_eof (void) if (line_head == NULL) return 1; /* Null file */ - if (gfc_current_locus1.lb == NULL) + if (gfc_current_locus.lb == NULL) return 1; return 0; @@ -250,7 +228,7 @@ gfc_at_bol (void) if (gfc_at_eof ()) return 1; - return (gfc_current_locus1.nextc == gfc_current_locus1.lb->line); + return (gfc_current_locus.nextc == gfc_current_locus.lb->line); } @@ -263,7 +241,7 @@ gfc_at_eol (void) if (gfc_at_eof ()) return 1; - return (*gfc_current_locus1.nextc == '\0'); + return (*gfc_current_locus.nextc == '\0'); } @@ -275,19 +253,19 @@ gfc_advance_line (void) if (gfc_at_end ()) return; - if (gfc_current_locus1.lb == NULL) + if (gfc_current_locus.lb == NULL) { end_flag = 1; return; } - gfc_current_locus1.lb = gfc_current_locus1.lb->next; + gfc_current_locus.lb = gfc_current_locus.lb->next; - if (gfc_current_locus1.lb != NULL) - gfc_current_locus1.nextc = gfc_current_locus1.lb->line; + if (gfc_current_locus.lb != NULL) + gfc_current_locus.nextc = gfc_current_locus.lb->line; else { - gfc_current_locus1.nextc = NULL; + gfc_current_locus.nextc = NULL; end_flag = 1; } } @@ -307,13 +285,13 @@ next_char (void) { int c; - if (gfc_current_locus1.nextc == NULL) + if (gfc_current_locus.nextc == NULL) return '\n'; - c = *gfc_current_locus1.nextc++; + c = *gfc_current_locus.nextc++; if (c == '\0') { - gfc_current_locus1.nextc--; /* Remain on this line. */ + gfc_current_locus.nextc--; /* Remain on this line. */ c = '\n'; } @@ -351,7 +329,7 @@ skip_free_comments (void) for (;;) { - start = gfc_current_locus1; + start = gfc_current_locus; if (gfc_at_eof ()) break; @@ -376,7 +354,7 @@ skip_free_comments (void) break; } - gfc_set_locus (&start); + gfc_current_locus = start; } @@ -393,7 +371,7 @@ skip_fixed_comments (void) for (;;) { - start = gfc_current_locus1; + start = gfc_current_locus; if (gfc_at_eof ()) break; @@ -433,7 +411,7 @@ skip_fixed_comments (void) break; } - gfc_set_locus (&start); + gfc_current_locus = start; } @@ -491,7 +469,7 @@ restart: /* If the next nonblank character is a ! or \n, we've got a continuation line. */ - old_loc = gfc_current_locus1; + old_loc = gfc_current_locus; c = next_char (); while (gfc_is_whitespace (c)) @@ -502,14 +480,14 @@ restart: if (in_string && c != '\n') { - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; c = '&'; goto done; } if (c != '!' && c != '\n') { - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; c = '&'; goto done; } @@ -529,14 +507,14 @@ restart: reading starts at the next character, otherwise we must back up to where the whitespace started and resume from there. */ - old_loc = *gfc_current_locus (); + old_loc = gfc_current_locus; c = next_char (); while (gfc_is_whitespace (c)) c = next_char (); if (c != '&') - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; } else @@ -556,7 +534,7 @@ restart: goto done; continue_flag = 1; - old_loc = *gfc_current_locus (); + old_loc = gfc_current_locus; gfc_advance_line (); gfc_skip_comments (); @@ -580,7 +558,7 @@ restart: not_continuation: c = '\n'; - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; done: continue_flag = 0; @@ -614,9 +592,9 @@ gfc_peek_char (void) locus old_loc; int c; - old_loc = gfc_current_locus1; + old_loc = gfc_current_locus; c = gfc_next_char (); - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; return c; } @@ -684,12 +662,12 @@ gfc_gobble_whitespace (void) do { - old_loc = gfc_current_locus1; + old_loc = gfc_current_locus; c = gfc_next_char_literal (0); } while (gfc_is_whitespace (c)); - gfc_set_locus (&old_loc); + gfc_current_locus = old_loc; } @@ -1123,8 +1101,8 @@ gfc_new_file (const char *filename, gfc_source_form form) result = load_file (gfc_source_file, true); - gfc_current_locus1.lb = line_head; - gfc_current_locus1.nextc = (line_head == NULL) ? NULL : line_head->line; + gfc_current_locus.lb = line_head; + gfc_current_locus.nextc = (line_head == NULL) ? NULL : line_head->line; #if 0 /* Debugging aid. */ for (; line_head; line_head = line_head->next) -- cgit v1.2.3