aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/scanner.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-05-27 14:35:12 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-05-27 14:35:12 +0200
commit63645982e7f5d9d95f152052431db81c2f119a15 (patch)
tree3c7af6dcd25c3b7df4df9f719eb578e68eb49801 /gcc/fortran/scanner.c
parenta4171ce18efea96907998485b2a71e3d4f9dde4f (diff)
downloadgcc-63645982e7f5d9d95f152052431db81c2f119a15.zip
gcc-63645982e7f5d9d95f152052431db81c2f119a15.tar.gz
gcc-63645982e7f5d9d95f152052431db81c2f119a15.tar.bz2
gfortran.h (gfc_current_locus, [...]): Remove.
* 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. From-SVN: r82320
Diffstat (limited to 'gcc/fortran/scanner.c')
-rw-r--r--gcc/fortran/scanner.c80
1 files changed, 29 insertions, 51 deletions
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index a16c274..b280e14 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)