arith.c, [...]: Fix comment formatting.
* arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h, gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c, module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c, trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c, trans.h: Fix comment formatting. From-SVN: r90266
This commit is contained in:
parent
03fd3f84d8
commit
f7b529fae7
@ -1,3 +1,11 @@
|
||||
2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
|
||||
gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
|
||||
module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
|
||||
trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
|
||||
trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
|
||||
|
||||
2004-11-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
|
||||
|
||||
PR fortran/18023
|
||||
|
@ -205,7 +205,7 @@ gfc_arith_init_1 (void)
|
||||
is compiled with -pedantic, and reflects the belief that
|
||||
Standard Fortran requires integers to be symmetrical, i.e.
|
||||
every negative integer must have a representable positive
|
||||
absolute value, and vice versa. */
|
||||
absolute value, and vice versa. */
|
||||
|
||||
mpz_init (int_info->pedantic_min_int);
|
||||
mpz_neg (int_info->pedantic_min_int, int_info->huge);
|
||||
|
@ -968,7 +968,7 @@ check_element_type (gfc_expr * expr)
|
||||
}
|
||||
|
||||
|
||||
/* Recursive work function for gfc_check_constructor_type(). */
|
||||
/* Recursive work function for gfc_check_constructor_type(). */
|
||||
|
||||
static try
|
||||
check_constructor_type (gfc_constructor * c)
|
||||
@ -1609,7 +1609,7 @@ gfc_get_array_element (gfc_expr * array, int element)
|
||||
|
||||
/* These are needed just to accommodate RESHAPE(). There are no
|
||||
diagnostics here, we just return a negative number if something
|
||||
goes wrong. */
|
||||
goes wrong. */
|
||||
|
||||
|
||||
/* Get the size of single dimension of an array specification. The
|
||||
|
@ -401,7 +401,7 @@ match_old_style_init (const char *name)
|
||||
/* Match the stuff following a DATA statement. If ERROR_FLAG is set,
|
||||
we are matching a DATA statement and are therefore issuing an error
|
||||
if we encounter something unexpected, if not, we're trying to match
|
||||
an old-style intialization expression of the form INTEGER I /2/. */
|
||||
an old-style intialization expression of the form INTEGER I /2/. */
|
||||
|
||||
match
|
||||
gfc_match_data (void)
|
||||
@ -3292,7 +3292,7 @@ loop:
|
||||
components. The ways this can happen is via a function
|
||||
definition, an INTRINSIC statement or a subtype in another
|
||||
derived type that is a pointer. The first part of the AND clause
|
||||
is true if a the symbol is not the return value of a function. */
|
||||
is true if a the symbol is not the return value of a function. */
|
||||
if (sym->attr.flavor != FL_DERIVED
|
||||
&& gfc_add_flavor (&sym->attr, FL_DERIVED, NULL) == FAILURE)
|
||||
return MATCH_ERROR;
|
||||
|
@ -583,7 +583,7 @@ gfc_build_conversion (gfc_expr * e)
|
||||
The exception is that the operands of an exponential don't have to
|
||||
have the same type. If possible, the base is promoted to the type
|
||||
of the exponent. For example, 1**2.3 becomes 1.0**2.3, but
|
||||
1.0**2 stays as it is. */
|
||||
1.0**2 stays as it is. */
|
||||
|
||||
void
|
||||
gfc_type_convert_binary (gfc_expr * e)
|
||||
|
@ -341,7 +341,7 @@ GTY(())
|
||||
/* For each level (except the global one), a chain of BLOCK nodes for all
|
||||
the levels that were entered and exited one level down from this one. */
|
||||
tree blocks;
|
||||
/* The binding level containing this one (the enclosing binding level). */
|
||||
/* The binding level containing this one (the enclosing binding level). */
|
||||
struct binding_level *level_chain;
|
||||
};
|
||||
|
||||
@ -436,7 +436,7 @@ poplevel (int keep, int reverse, int functionbody)
|
||||
subblock_node = TREE_CHAIN (subblock_node))
|
||||
if (DECL_NAME (subblock_node) != 0)
|
||||
/* If the identifier was used or addressed via a local extern decl,
|
||||
don't forget that fact. */
|
||||
don't forget that fact. */
|
||||
if (DECL_EXTERNAL (subblock_node))
|
||||
{
|
||||
if (TREE_USED (subblock_node))
|
||||
@ -489,7 +489,7 @@ insert_block (tree block)
|
||||
}
|
||||
|
||||
/* Records a ..._DECL node DECL as belonging to the current lexical scope.
|
||||
Returns the ..._DECL node. */
|
||||
Returns the ..._DECL node. */
|
||||
|
||||
tree
|
||||
pushdecl (tree decl)
|
||||
@ -507,7 +507,7 @@ pushdecl (tree decl)
|
||||
TREE_CHAIN (decl) = current_binding_level->names;
|
||||
current_binding_level->names = decl;
|
||||
|
||||
/* For the declartion of a type, set its name if it is not already set. */
|
||||
/* For the declartion of a type, set its name if it is not already set. */
|
||||
|
||||
if (TREE_CODE (decl) == TYPE_DECL && TYPE_NAME (TREE_TYPE (decl)) == 0)
|
||||
{
|
||||
@ -575,7 +575,7 @@ gfc_init_decl_processing (void)
|
||||
|
||||
/* Build common tree nodes. char_type_node is unsigned because we
|
||||
only use it for actual characters, not for INTEGER(1). Also, we
|
||||
want double_type_node to actually have double precision. */
|
||||
want double_type_node to actually have double precision. */
|
||||
build_common_tree_nodes (false, false);
|
||||
set_sizetype (long_unsigned_type_node);
|
||||
build_common_tree_nodes_2 (0);
|
||||
|
@ -99,11 +99,11 @@ mstring;
|
||||
/* Flags to specify which standardi/extension contains a feature. */
|
||||
#define GFC_STD_GNU (1<<5) /* GNU Fortran extension. */
|
||||
#define GFC_STD_F2003 (1<<4) /* New in F2003. */
|
||||
/* Note that no features were obsoleted nor deleted in F2003. */
|
||||
#define GFC_STD_F95 (1<<3) /* New in F95. */
|
||||
/* Note that no features were obsoleted nor deleted in F2003. */
|
||||
#define GFC_STD_F95 (1<<3) /* New in F95. */
|
||||
#define GFC_STD_F95_DEL (1<<2) /* Deleted in F95. */
|
||||
#define GFC_STD_F95_OBS (1<<1) /* Obsoleted in F95. */
|
||||
#define GFC_STD_F77 (1<<0) /* Up to and including F77. */
|
||||
#define GFC_STD_F77 (1<<0) /* Up to and including F77. */
|
||||
|
||||
/*************************** Enums *****************************/
|
||||
|
||||
@ -1209,7 +1209,7 @@ gfc_iterator;
|
||||
#define gfc_get_iterator() gfc_getmem(sizeof(gfc_iterator))
|
||||
|
||||
|
||||
/* Allocation structure for ALLOCATE, DEALLOCATE and NULLIFY statements. */
|
||||
/* Allocation structure for ALLOCATE, DEALLOCATE and NULLIFY statements. */
|
||||
|
||||
typedef struct gfc_alloc
|
||||
{
|
||||
|
@ -68,24 +68,24 @@ Boston, MA 02111-1307, USA. */
|
||||
skip over. */
|
||||
typedef enum
|
||||
{
|
||||
OPTION_b, /* Aka --prefix. */
|
||||
OPTION_B, /* Aka --target. */
|
||||
OPTION_c, /* Aka --compile. */
|
||||
OPTION_E, /* Aka --preprocess. */
|
||||
OPTION_help, /* --help. */
|
||||
OPTION_i, /* -imacros, -include, -include-*. */
|
||||
OPTION_b, /* Aka --prefix. */
|
||||
OPTION_B, /* Aka --target. */
|
||||
OPTION_c, /* Aka --compile. */
|
||||
OPTION_E, /* Aka --preprocess. */
|
||||
OPTION_help, /* --help. */
|
||||
OPTION_i, /* -imacros, -include, -include-*. */
|
||||
OPTION_l,
|
||||
OPTION_L, /* Aka --library-directory. */
|
||||
OPTION_L, /* Aka --library-directory. */
|
||||
OPTION_nostdlib, /* Aka --no-standard-libraries, or
|
||||
-nodefaultlibs. */
|
||||
OPTION_o, /* Aka --output. */
|
||||
OPTION_S, /* Aka --assemble. */
|
||||
OPTION_syntax_only, /* -fsyntax-only. */
|
||||
OPTION_v, /* Aka --verbose. */
|
||||
OPTION_version, /* --version. */
|
||||
OPTION_V, /* Aka --use-version. */
|
||||
OPTION_x, /* Aka --language. */
|
||||
OPTION_ /* Unrecognized or unimportant. */
|
||||
-nodefaultlibs. */
|
||||
OPTION_o, /* Aka --output. */
|
||||
OPTION_S, /* Aka --assemble. */
|
||||
OPTION_syntax_only, /* -fsyntax-only. */
|
||||
OPTION_v, /* Aka --verbose. */
|
||||
OPTION_version, /* --version. */
|
||||
OPTION_V, /* Aka --use-version. */
|
||||
OPTION_x, /* Aka --language. */
|
||||
OPTION_ /* Unrecognized or unimportant. */
|
||||
}
|
||||
Option;
|
||||
|
||||
@ -133,7 +133,7 @@ lookup_option (Option *xopt, int *xskip, const char **xarg, const char *text)
|
||||
const char *arg = NULL;
|
||||
|
||||
if ((skip = SWITCH_TAKES_ARG (text[1])))
|
||||
skip -= (text[2] != '\0'); /* See gcc.c. */
|
||||
skip -= (text[2] != '\0'); /* See gcc.c. */
|
||||
|
||||
if (text[1] == 'B')
|
||||
opt = OPTION_B, skip = (text[2] == '\0'), arg = text + 2;
|
||||
@ -161,7 +161,7 @@ lookup_option (Option *xopt, int *xskip, const char **xarg, const char *text)
|
||||
opt = OPTION_x, arg = text + 2;
|
||||
else
|
||||
{
|
||||
if ((skip = WORD_SWITCH_TAKES_ARG (text + 1)) != 0) /* See gcc.c. */
|
||||
if ((skip = WORD_SWITCH_TAKES_ARG (text + 1)) != 0) /* See gcc.c. */
|
||||
;
|
||||
else if (!strcmp (text, "-fhelp")) /* Really --help!! */
|
||||
opt = OPTION_help;
|
||||
@ -212,14 +212,14 @@ append_arg (const char *arg)
|
||||
|| !strcmp (arg, g77_xargv[g77_newargc])))
|
||||
{
|
||||
++g77_newargc;
|
||||
return; /* Nothing new here. */
|
||||
return; /* Nothing new here. */
|
||||
}
|
||||
|
||||
if (g77_newargv == g77_xargv)
|
||||
{ /* Make new arglist. */
|
||||
{ /* Make new arglist. */
|
||||
int i;
|
||||
|
||||
newargsize = (g77_xargc << 2) + 20; /* This should handle all. */
|
||||
newargsize = (g77_xargc << 2) + 20; /* This should handle all. */
|
||||
g77_newargv = (const char **) xmalloc (newargsize * sizeof (char *));
|
||||
|
||||
/* Copy what has been done so far. */
|
||||
@ -384,13 +384,13 @@ For more information about these matters, see the file named COPYING\n\
|
||||
|
||||
/* Second pass through arglist, transforming arguments as appropriate. */
|
||||
|
||||
append_arg (argv[0]); /* Start with command name, of course. */
|
||||
append_arg (argv[0]); /* Start with command name, of course. */
|
||||
|
||||
for (i = 1; i < argc; ++i)
|
||||
{
|
||||
if (argv[i][0] == '\0')
|
||||
{
|
||||
append_arg (argv[i]); /* Interesting. Just append as is. */
|
||||
append_arg (argv[i]); /* Interesting. Just append as is. */
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -417,9 +417,9 @@ For more information about these matters, see the file named COPYING\n\
|
||||
|
||||
if ((argv[i][0] == '-') && (argv[i][1] != 'l'))
|
||||
{
|
||||
/* Not a filename or library. */
|
||||
/* Not a filename or library. */
|
||||
|
||||
if (saw_library == 1 && need_math) /* -l<library>. */
|
||||
if (saw_library == 1 && need_math) /* -l<library>. */
|
||||
append_arg (MATH_LIBRARY);
|
||||
|
||||
saw_library = 0;
|
||||
@ -428,13 +428,13 @@ For more information about these matters, see the file named COPYING\n\
|
||||
|
||||
if (argv[i][1] == '\0')
|
||||
{
|
||||
append_arg (argv[i]); /* "-" == Standard input. */
|
||||
append_arg (argv[i]); /* "-" == Standard input. */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (opt == OPTION_x)
|
||||
{
|
||||
/* Track input language. */
|
||||
/* Track input language. */
|
||||
const char *lang;
|
||||
|
||||
if (arg == NULL)
|
||||
@ -453,16 +453,16 @@ For more information about these matters, see the file named COPYING\n\
|
||||
continue;
|
||||
}
|
||||
|
||||
/* A filename/library, not an option. */
|
||||
/* A filename/library, not an option. */
|
||||
|
||||
if (saw_speclang)
|
||||
saw_library = 0; /* -xfoo currently active. */
|
||||
saw_library = 0; /* -xfoo currently active. */
|
||||
else
|
||||
{ /* -lfoo or filename. */
|
||||
{ /* -lfoo or filename. */
|
||||
if (strcmp (argv[i], MATH_LIBRARY) == 0)
|
||||
{
|
||||
if (saw_library == 1)
|
||||
saw_library = 2; /* -l<library> -lm. */
|
||||
saw_library = 2; /* -l<library> -lm. */
|
||||
else
|
||||
{
|
||||
if (0 == use_init)
|
||||
@ -474,9 +474,9 @@ For more information about these matters, see the file named COPYING\n\
|
||||
}
|
||||
}
|
||||
else if (strcmp (argv[i], FORTRAN_LIBRARY) == 0)
|
||||
saw_library = 1; /* -l<library>. */
|
||||
saw_library = 1; /* -l<library>. */
|
||||
else
|
||||
{ /* Other library, or filename. */
|
||||
{ /* Other library, or filename. */
|
||||
if (saw_library == 1 && need_math)
|
||||
append_arg (MATH_LIBRARY);
|
||||
saw_library = 0;
|
||||
@ -488,7 +488,7 @@ For more information about these matters, see the file named COPYING\n\
|
||||
/* Append `-lg2c -lm' as necessary. */
|
||||
|
||||
if (library)
|
||||
{ /* Doing a link and no -nostdlib. */
|
||||
{ /* Doing a link and no -nostdlib. */
|
||||
if (saw_speclang)
|
||||
append_arg ("-xnone");
|
||||
|
||||
@ -538,12 +538,12 @@ For more information about these matters, see the file named COPYING\n\
|
||||
*in_argv = g77_newargv;
|
||||
}
|
||||
|
||||
/* Called before linking. Returns 0 on success and -1 on failure. */
|
||||
/* Called before linking. Returns 0 on success and -1 on failure. */
|
||||
int
|
||||
lang_specific_pre_link (void) /* Not used for F77. */
|
||||
lang_specific_pre_link (void) /* Not used for F77. */
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Number of extra output files that lang_specific_pre_link may generate. */
|
||||
int lang_specific_extra_outfiles = 0; /* Not used for F77. */
|
||||
/* Number of extra output files that lang_specific_pre_link may generate. */
|
||||
int lang_specific_extra_outfiles = 0; /* Not used for F77. */
|
||||
|
@ -710,7 +710,7 @@ count_types_test (gfc_formal_arglist * f1, gfc_formal_arglist * f2)
|
||||
ac1++;
|
||||
|
||||
/* Count the number of arguments in f2 with that type, including
|
||||
those that are optional. */
|
||||
those that are optional. */
|
||||
ac2 = 0;
|
||||
|
||||
for (f = f2; f; f = f->next)
|
||||
@ -1313,7 +1313,7 @@ argpair;
|
||||
order:
|
||||
- p->a->expr == NULL
|
||||
- p->a->expr->expr_type != EXPR_VARIABLE
|
||||
- growing p->a->expr->symbol. */
|
||||
- growing p->a->expr->symbol. */
|
||||
|
||||
static int
|
||||
pair_cmp (const void *p1, const void *p2)
|
||||
|
@ -41,7 +41,7 @@ static gfc_namespace *gfc_intrinsic_namespace;
|
||||
int gfc_init_expr = 0;
|
||||
|
||||
/* Pointers to a intrinsic function and its argument names being
|
||||
checked. */
|
||||
checked. */
|
||||
|
||||
char *gfc_current_intrinsic, *gfc_current_intrinsic_arg[MAX_INTRINSIC_ARGS];
|
||||
locus *gfc_current_intrinsic_where;
|
||||
@ -222,7 +222,7 @@ add_sym (const char *name, int elemental, int actual_ok ATTRIBUTE_UNUSED,
|
||||
va_list argp;
|
||||
|
||||
/* First check that the intrinsic belongs to the selected standard.
|
||||
If not, don't add it to the symbol list. */
|
||||
If not, don't add it to the symbol list. */
|
||||
if (!(gfc_option.allow_std & standard))
|
||||
return;
|
||||
|
||||
@ -422,7 +422,7 @@ static void add_sym_2 (const char *name, int elemental, int actual_ok, bt type,
|
||||
|
||||
|
||||
/* Add the name of an intrinsic subroutine with two arguments to the list
|
||||
of intrinsic names. */
|
||||
of intrinsic names. */
|
||||
|
||||
static void add_sym_2s (const char *name, int elemental, int actual_ok, bt type,
|
||||
int kind, int standard,
|
||||
@ -526,7 +526,7 @@ static void add_sym_3red (const char *name, int elemental,
|
||||
}
|
||||
|
||||
/* Add the name of an intrinsic subroutine with three arguments to the list
|
||||
of intrinsic names. */
|
||||
of intrinsic names. */
|
||||
|
||||
static void add_sym_3s (const char *name, int elemental, int actual_ok, bt type,
|
||||
int kind, int standard,
|
||||
@ -1688,7 +1688,7 @@ add_functions (void)
|
||||
|
||||
make_generic ("scan", GFC_ISYM_SCAN, GFC_STD_F95);
|
||||
|
||||
/* Added for G77 compatibility garbage. */
|
||||
/* Added for G77 compatibility garbage. */
|
||||
add_sym_0 ("second", 0, 1, BT_REAL, 4, GFC_STD_GNU,NULL, NULL, NULL);
|
||||
|
||||
make_generic ("second", GFC_ISYM_SECOND, GFC_STD_GNU);
|
||||
@ -1903,7 +1903,7 @@ add_subroutines (void)
|
||||
gfc_check_cpu_time, NULL, gfc_resolve_cpu_time,
|
||||
tm, BT_REAL, dr, 0);
|
||||
|
||||
/* More G77 compatibility garbage. */
|
||||
/* More G77 compatibility garbage. */
|
||||
add_sym_1s ("second", 0, 1, BT_UNKNOWN, 0, GFC_STD_GNU,
|
||||
gfc_check_second_sub, NULL, gfc_resolve_second_sub,
|
||||
tm, BT_REAL, dr, 0);
|
||||
@ -1913,7 +1913,7 @@ add_subroutines (void)
|
||||
dt, BT_CHARACTER, dc, 1, tm, BT_CHARACTER, dc, 1,
|
||||
zn, BT_CHARACTER, dc, 1, vl, BT_INTEGER, di, 1);
|
||||
|
||||
/* More G77 compatibility garbage. */
|
||||
/* More G77 compatibility garbage. */
|
||||
add_sym_2s ("etime", 0, 1, BT_UNKNOWN, 0, GFC_STD_GNU,
|
||||
gfc_check_etime_sub, NULL, gfc_resolve_etime_sub,
|
||||
vl, BT_REAL, 4, 0, tm, BT_REAL, 4, 0);
|
||||
@ -1953,7 +1953,7 @@ add_subroutines (void)
|
||||
st, BT_INTEGER, di, 1);
|
||||
|
||||
|
||||
/* F2003 subroutine to get environment variables. */
|
||||
/* F2003 subroutine to get environment variables. */
|
||||
|
||||
add_sym_5s ("get_environment_variable", 0, 1, BT_UNKNOWN, 0, GFC_STD_F2003,
|
||||
NULL, NULL, gfc_resolve_get_environment_variable,
|
||||
@ -1979,7 +1979,7 @@ add_subroutines (void)
|
||||
sz, BT_INTEGER, di, 1, pt, BT_INTEGER, di, 1,
|
||||
gt, BT_INTEGER, di, 1);
|
||||
|
||||
/* More G77 compatibility garbage. */
|
||||
/* More G77 compatibility garbage. */
|
||||
add_sym_1s ("srand", 0, 1, BT_UNKNOWN, di, GFC_STD_GNU,
|
||||
gfc_check_srand, NULL, gfc_resolve_srand,
|
||||
c, BT_INTEGER, 4, 0);
|
||||
@ -2138,7 +2138,7 @@ gfc_intrinsic_init_1 (void)
|
||||
add_conversions ();
|
||||
|
||||
/* Set the pure flag. All intrinsic functions are pure, and
|
||||
intrinsic subroutines are pure if they are elemental. */
|
||||
intrinsic subroutines are pure if they are elemental. */
|
||||
|
||||
for (i = 0; i < nfunc; i++)
|
||||
functions[i].pure = 1;
|
||||
@ -2304,7 +2304,7 @@ do_sort:
|
||||
|
||||
actual = a;
|
||||
}
|
||||
actual->next = NULL; /* End the sorted argument list. */
|
||||
actual->next = NULL; /* End the sorted argument list. */
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
@ -2831,7 +2831,7 @@ gfc_intrinsic_sub_interface (gfc_code * c, int error_flag)
|
||||
}
|
||||
|
||||
/* The subroutine corresponds to an intrinsic. Allow errors to be
|
||||
seen at this point. */
|
||||
seen at this point. */
|
||||
gfc_suppress_error = 0;
|
||||
|
||||
if (isym->resolve.s1 != NULL)
|
||||
|
@ -1594,7 +1594,7 @@ gfc_resolve_get_command_argument (gfc_code * c)
|
||||
c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);
|
||||
}
|
||||
|
||||
/* Resolve the get_environment_variable intrinsic subroutine. */
|
||||
/* Resolve the get_environment_variable intrinsic subroutine. */
|
||||
|
||||
void
|
||||
gfc_resolve_get_environment_variable (gfc_code * code)
|
||||
|
@ -2673,7 +2673,7 @@ match_case_selector (gfc_case ** cp)
|
||||
goto need_expr;
|
||||
|
||||
/* If we're not looking at a ':' now, make a range out of a single
|
||||
target. Else get the upper bound for the case range. */
|
||||
target. Else get the upper bound for the case range. */
|
||||
if (gfc_match_char (':') != MATCH_YES)
|
||||
c->high = c->low;
|
||||
else
|
||||
|
@ -1398,7 +1398,7 @@ static const mstring attr_bits[] =
|
||||
minit (NULL, -1)
|
||||
};
|
||||
|
||||
/* Specialisation of mio_name. */
|
||||
/* Specialisation of mio_name. */
|
||||
DECL_MIO_NAME(ab_attribute)
|
||||
DECL_MIO_NAME(ar_type)
|
||||
DECL_MIO_NAME(array_type)
|
||||
@ -2334,7 +2334,7 @@ static const mstring expr_types[] = {
|
||||
|
||||
/* INTRINSIC_ASSIGN is missing because it is used as an index for
|
||||
generic operators, not in expressions. INTRINSIC_USER is also
|
||||
replaced by the correct function name by the time we see it. */
|
||||
replaced by the correct function name by the time we see it. */
|
||||
|
||||
static const mstring intrinsics[] =
|
||||
{
|
||||
|
@ -400,7 +400,7 @@ next_fixed (void)
|
||||
break;
|
||||
|
||||
/* Comments have already been skipped by the time we get
|
||||
here so don't bother checking for them. */
|
||||
here so don't bother checking for them. */
|
||||
|
||||
default:
|
||||
gfc_buffer_error (0);
|
||||
|
@ -45,7 +45,7 @@ typedef struct gfc_state_data
|
||||
struct gfc_code *head, *tail;
|
||||
struct gfc_state_data *previous;
|
||||
|
||||
/* Block-specific state data. */
|
||||
/* Block-specific state data. */
|
||||
union
|
||||
{
|
||||
gfc_st_label *end_do_label;
|
||||
|
@ -374,7 +374,7 @@ match_real_constant (gfc_expr ** result, int signflag)
|
||||
{
|
||||
c = gfc_next_char ();
|
||||
if (c == '.')
|
||||
goto done; /* Operator named .e. or .d. */
|
||||
goto done; /* Operator named .e. or .d. */
|
||||
}
|
||||
|
||||
if (ISALPHA (c))
|
||||
@ -1654,7 +1654,7 @@ check_substring:
|
||||
dumped). If we see a full part or section of an array, the
|
||||
expression is also an array.
|
||||
|
||||
We can have at most one full array reference. */
|
||||
We can have at most one full array reference. */
|
||||
|
||||
symbol_attribute
|
||||
gfc_variable_attr (gfc_expr * expr, gfc_typespec * ts)
|
||||
|
@ -287,7 +287,7 @@ resolve_contained_fntype (gfc_symbol * sym, gfc_namespace * ns)
|
||||
|
||||
|
||||
/* Add NEW_ARGS to the formal argument list of PROC, taking care not to
|
||||
introduce duplicates. */
|
||||
introduce duplicates. */
|
||||
|
||||
static void
|
||||
merge_argument_lists (gfc_symbol *proc, gfc_formal_arglist *new_args)
|
||||
@ -343,7 +343,7 @@ resolve_entries (gfc_namespace * ns)
|
||||
if (ns->proc_name->attr.entry_master)
|
||||
return;
|
||||
|
||||
/* If this isn't a procedure something has gone horribly wrong. */
|
||||
/* If this isn't a procedure something has gone horribly wrong. */
|
||||
gcc_assert (ns->proc_name->attr.flavor == FL_PROCEDURE);
|
||||
|
||||
/* Remember the current namespace. */
|
||||
@ -433,7 +433,7 @@ resolve_contained_functions (gfc_namespace * ns)
|
||||
|
||||
|
||||
/* Resolve all of the elements of a structure constructor and make sure that
|
||||
the types are correct. */
|
||||
the types are correct. */
|
||||
|
||||
static try
|
||||
resolve_structure_cons (gfc_expr * expr)
|
||||
@ -1581,7 +1581,7 @@ check_dimension (int i, gfc_array_ref * ar, gfc_array_spec * as)
|
||||
{
|
||||
|
||||
/* Given start, end and stride values, calculate the minimum and
|
||||
maximum referenced indexes. */
|
||||
maximum referenced indexes. */
|
||||
|
||||
switch (ar->type)
|
||||
{
|
||||
@ -1609,7 +1609,7 @@ check_dimension (int i, gfc_array_ref * ar, gfc_array_spec * as)
|
||||
goto bound;
|
||||
|
||||
/* TODO: Possibly, we could warn about end[i] being out-of-bound although
|
||||
it is legal (see 6.2.2.3.1). */
|
||||
it is legal (see 6.2.2.3.1). */
|
||||
|
||||
break;
|
||||
|
||||
@ -1982,7 +1982,7 @@ resolve_ref (gfc_expr * expr)
|
||||
|
||||
|
||||
/* Given an expression, determine its shape. This is easier than it sounds.
|
||||
Leaves the shape array NULL if it is not possible to determine the shape. */
|
||||
Leaves the shape array NULL if it is not possible to determine the shape. */
|
||||
|
||||
static void
|
||||
expression_shape (gfc_expr * e)
|
||||
@ -2022,7 +2022,7 @@ expression_rank (gfc_expr * e)
|
||||
{
|
||||
if (e->expr_type == EXPR_ARRAY)
|
||||
goto done;
|
||||
/* Constructors can have a rank different from one via RESHAPE(). */
|
||||
/* Constructors can have a rank different from one via RESHAPE(). */
|
||||
|
||||
if (e->symtree == NULL)
|
||||
{
|
||||
@ -3346,7 +3346,7 @@ gfc_resolve_assign_in_forall (gfc_code *code, int nvar, gfc_expr **var_expr)
|
||||
forall_index = var_expr[n]->symtree->n.sym;
|
||||
|
||||
/* Check whether the assignment target is one of the FORALL index
|
||||
variable. */
|
||||
variable. */
|
||||
if ((code->expr->expr_type == EXPR_VARIABLE)
|
||||
&& (code->expr->symtree->n.sym == forall_index))
|
||||
gfc_error ("Assignment to a FORALL index variable at %L",
|
||||
@ -3461,7 +3461,7 @@ gfc_resolve_forall (gfc_code *code, gfc_namespace *ns, int forall_save)
|
||||
if (forall_save == 0)
|
||||
{
|
||||
/* Count the total number of FORALL index in the nested FORALL
|
||||
construct in order to allocate the VAR_EXPR with proper size. */
|
||||
construct in order to allocate the VAR_EXPR with proper size. */
|
||||
next = code;
|
||||
while ((next != NULL) && (next->op == EXEC_FORALL))
|
||||
{
|
||||
@ -3470,7 +3470,7 @@ gfc_resolve_forall (gfc_code *code, gfc_namespace *ns, int forall_save)
|
||||
next = next->block->next;
|
||||
}
|
||||
|
||||
/* allocate VAR_EXPR with NUMBER_OF_FORALL_INDEX elements. */
|
||||
/* Allocate VAR_EXPR with NUMBER_OF_FORALL_INDEX elements. */
|
||||
var_expr = (gfc_expr **) gfc_getmem (total_var * sizeof (gfc_expr *));
|
||||
}
|
||||
|
||||
@ -4071,7 +4071,7 @@ resolve_symbol (gfc_symbol * sym)
|
||||
gfc_error("Intrinsic at %L does not exist", &sym->declared_at);
|
||||
|
||||
/* Resolve array specifier. Check as well some constraints
|
||||
on COMMON blocks. */
|
||||
on COMMON blocks. */
|
||||
|
||||
check_constant = sym->attr.in_common && !sym->attr.pointer;
|
||||
gfc_resolve_array_spec (sym->as, check_constant);
|
||||
|
@ -468,7 +468,7 @@ restart:
|
||||
goto done;
|
||||
|
||||
/* If the next nonblank character is a ! or \n, we've got a
|
||||
continuation line. */
|
||||
continuation line. */
|
||||
old_loc = gfc_current_locus;
|
||||
|
||||
c = next_char ();
|
||||
@ -981,7 +981,7 @@ include_line (char *line)
|
||||
if (*c != '\0' && *c != '!')
|
||||
return false;
|
||||
|
||||
/* We have an include line at this point. */
|
||||
/* We have an include line at this point. */
|
||||
|
||||
*stop = '\0'; /* It's ok to trash the buffer, as this line won't be
|
||||
read by anything else. */
|
||||
@ -1093,7 +1093,7 @@ load_file (char *filename, bool initial)
|
||||
|
||||
|
||||
/* Determine the source form from the filename extension. We assume
|
||||
case insensitivity. */
|
||||
case insensitivity. */
|
||||
|
||||
static gfc_source_form
|
||||
form_from_filename (const char *filename)
|
||||
|
@ -1040,7 +1040,7 @@ get_array_ctor_var_strlen (gfc_expr * expr, tree * len)
|
||||
break;
|
||||
|
||||
case COMPONENT_REF:
|
||||
/* Use the length of the component. */
|
||||
/* Use the length of the component. */
|
||||
ts = &ref->u.c.component->ts;
|
||||
break;
|
||||
|
||||
@ -2025,7 +2025,7 @@ gfc_conv_section_upper_bound (gfc_ss * ss, int n, stmtblock_t * pblock)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* No upper bound was specified, so use the bound of the array. */
|
||||
/* No upper bound was specified, so use the bound of the array. */
|
||||
bound = gfc_conv_array_ubound (desc, dim);
|
||||
}
|
||||
|
||||
@ -2396,7 +2396,7 @@ gfc_conv_resolve_dependencies (gfc_loopinfo * loop, gfc_ss * dest,
|
||||
the range of the loop variables. Creates a temporary if required.
|
||||
Calculates how to transform from loop variables to array indices for each
|
||||
expression. Also generates code for scalar expressions which have been
|
||||
moved outside the loop. */
|
||||
moved outside the loop. */
|
||||
|
||||
void
|
||||
gfc_conv_loop_setup (gfc_loopinfo * loop)
|
||||
@ -2436,7 +2436,7 @@ gfc_conv_loop_setup (gfc_loopinfo * loop)
|
||||
/* Try to figure out the size of the constructor. */
|
||||
/* TODO: avoid this by making the frontend set the shape. */
|
||||
gfc_get_array_cons_size (&i, ss->expr->value.constructor);
|
||||
/* A negative value means we failed. */
|
||||
/* A negative value means we failed. */
|
||||
if (mpz_sgn (i) > 0)
|
||||
{
|
||||
mpz_sub_ui (i, i, 1);
|
||||
@ -2997,7 +2997,7 @@ gfc_trans_array_bounds (tree type, gfc_symbol * sym, tree * poffset,
|
||||
gfc_add_block_to_block (pblock, &se.pre);
|
||||
gfc_add_modify_expr (pblock, ubound, se.expr);
|
||||
}
|
||||
/* The offset of this dimension. offset = offset - lbound * stride. */
|
||||
/* The offset of this dimension. offset = offset - lbound * stride. */
|
||||
tmp = fold (build2 (MULT_EXPR, gfc_array_index_type, lbound, size));
|
||||
offset = fold (build2 (MINUS_EXPR, gfc_array_index_type, offset, tmp));
|
||||
|
||||
@ -3361,7 +3361,7 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc, tree body)
|
||||
tmp = fold (build2 (PLUS_EXPR, gfc_array_index_type, tmp, lbound));
|
||||
gfc_add_modify_expr (&block, ubound, tmp);
|
||||
}
|
||||
/* The offset of this dimension. offset = offset - lbound * stride. */
|
||||
/* The offset of this dimension. offset = offset - lbound * stride. */
|
||||
tmp = fold (build2 (MULT_EXPR, gfc_array_index_type, lbound, stride));
|
||||
offset = fold (build2 (MINUS_EXPR, gfc_array_index_type, offset, tmp));
|
||||
|
||||
@ -4208,7 +4208,7 @@ gfc_walk_op_expr (gfc_ss * ss, gfc_expr * expr)
|
||||
if (head2 == ss)
|
||||
return head2;
|
||||
|
||||
/* All operands require scalarization. */
|
||||
/* All operands require scalarization. */
|
||||
if (head != ss && (expr->op2 == NULL || head2 != head))
|
||||
return head2;
|
||||
|
||||
|
@ -90,7 +90,7 @@ void gfc_conv_array_parameter (gfc_se *, gfc_expr *, gfc_ss *, int);
|
||||
/* These work with both descriptors and descriptorless arrays. */
|
||||
tree gfc_conv_array_data (tree);
|
||||
tree gfc_conv_array_offset (tree);
|
||||
/* Return either an INT_CST or an expression for that part of the descriptor. */
|
||||
/* Return either an INT_CST or an expression for that part of the descriptor. */
|
||||
tree gfc_conv_array_stride (tree, int);
|
||||
tree gfc_conv_array_lbound (tree, int);
|
||||
tree gfc_conv_array_ubound (tree, int);
|
||||
|
@ -156,7 +156,7 @@ gfc_get_expr_charlen (gfc_expr *e)
|
||||
|
||||
/* First candidate: if the variable is of type CHARACTER, the
|
||||
expression's length could be the length of the character
|
||||
variable. */
|
||||
variable. */
|
||||
if (e->symtree->n.sym->ts.type == BT_CHARACTER)
|
||||
length = e->symtree->n.sym->ts.cl->backend_decl;
|
||||
|
||||
|
@ -132,7 +132,7 @@ static GTY(()) gfc_intrinsic_map_t gfc_intrinsic_map[] =
|
||||
elemental functions to manipulate reals. */
|
||||
typedef struct
|
||||
{
|
||||
tree arg; /* Variable tree to view convert to integer. */
|
||||
tree arg; /* Variable tree to view convert to integer. */
|
||||
tree expn; /* Variable tree to save exponent. */
|
||||
tree frac; /* Variable tree to save fraction. */
|
||||
tree smask; /* Constant tree of sign's mask. */
|
||||
@ -165,7 +165,7 @@ gfc_conv_intrinsic_function_args (gfc_se * se, gfc_expr * expr)
|
||||
continue;
|
||||
|
||||
/* Evaluate the parameter. This will substitute scalarized
|
||||
references automatically. */
|
||||
references automatically. */
|
||||
gfc_init_se (&argse, se);
|
||||
|
||||
if (actual->expr->ts.type == BT_CHARACTER)
|
||||
@ -2254,7 +2254,7 @@ gfc_conv_associated (gfc_se *se, gfc_expr *expr)
|
||||
}
|
||||
|
||||
|
||||
/* Scan a string for any one of the characters in a set of characters. */
|
||||
/* Scan a string for any one of the characters in a set of characters. */
|
||||
|
||||
static void
|
||||
gfc_conv_intrinsic_scan (gfc_se * se, gfc_expr * expr)
|
||||
|
@ -135,7 +135,7 @@ static GTY(()) tree iocall_set_nml_val_log;
|
||||
|
||||
/* Variable for keeping track of what the last data transfer statement
|
||||
was. Used for deciding which subroutine to call when the data
|
||||
transfer is complete. */
|
||||
transfer is complete. */
|
||||
static enum { READ, WRITE, IOLENGTH } last_dt;
|
||||
|
||||
#define ADD_FIELD(name, type) \
|
||||
@ -166,7 +166,7 @@ gfc_build_io_library_fndecls (void)
|
||||
|
||||
/* Build the st_parameter structure. Information associated with I/O
|
||||
calls are transferred here. This must match the one defined in the
|
||||
library exactly. */
|
||||
library exactly. */
|
||||
|
||||
ioparm_type = make_node (RECORD_TYPE);
|
||||
TYPE_NAME (ioparm_type) = get_identifier ("_gfc_ioparm");
|
||||
@ -857,7 +857,7 @@ get_new_var_expr(gfc_symbol * sym)
|
||||
|
||||
Note that the first output field appears after the name of the
|
||||
variable, not of the field name. This causes a little complication
|
||||
documented below. */
|
||||
documented below. */
|
||||
|
||||
static void
|
||||
transfer_namelist_element (stmtblock_t * block, gfc_typespec * ts, tree addr_expr,
|
||||
@ -890,7 +890,7 @@ transfer_namelist_element (stmtblock_t * block, gfc_typespec * ts, tree addr_exp
|
||||
derived type variable. All other fields are anonymous
|
||||
and appear with nulls in their string and string_length
|
||||
fields. After the first use, we set string and
|
||||
string_length to null. */
|
||||
string_length to null. */
|
||||
string = null_pointer_node;
|
||||
string_length = integer_zero_node;
|
||||
}
|
||||
@ -1190,7 +1190,7 @@ transfer_array_component (tree expr, gfc_component * cm)
|
||||
mpz_add_ui (ss->shape[n], ss->shape[n], 1);
|
||||
}
|
||||
|
||||
/* Once we got ss, we use scalarizer to create the loop. */
|
||||
/* Once we got ss, we use scalarizer to create the loop. */
|
||||
|
||||
gfc_init_loopinfo (&loop);
|
||||
gfc_add_ss_to_loop (&loop, ss);
|
||||
@ -1212,7 +1212,7 @@ transfer_array_component (tree expr, gfc_component * cm)
|
||||
transfer_expr (&se, &cm->ts, tmp);
|
||||
|
||||
/* We are done now with the loop body. Wrap up the scalarizer and
|
||||
return. */
|
||||
return. */
|
||||
|
||||
gfc_add_block_to_block (&body, &se.pre);
|
||||
gfc_add_block_to_block (&body, &se.post);
|
||||
|
@ -1899,7 +1899,7 @@ gfc_trans_assign_need_temp (gfc_expr * expr1, gfc_expr * expr2, tree wheremask,
|
||||
type = gfc_typenode_for_spec (&expr1->ts);
|
||||
|
||||
/* Allocate temporary for nested forall construct according to the
|
||||
information in nested_forall_info and inner_size. */
|
||||
information in nested_forall_info and inner_size. */
|
||||
tmp1 = allocate_temp_for_forall_nest (nested_forall_info, type,
|
||||
inner_size, block, &ptemp1);
|
||||
|
||||
@ -2348,7 +2348,7 @@ gfc_trans_forall_1 (gfc_code * code, forall_info * nested_forall_info)
|
||||
}
|
||||
|
||||
/* Copy the mask into a temporary variable if required.
|
||||
For now we assume a mask temporary is needed. */
|
||||
For now we assume a mask temporary is needed. */
|
||||
if (code->expr)
|
||||
{
|
||||
/* Allocate the mask temporary. */
|
||||
@ -3025,7 +3025,7 @@ gfc_trans_where_2 (gfc_code * code, tree mask, tree pmask,
|
||||
|
||||
/* As the WHERE or WHERE construct statement can be nested, we call
|
||||
gfc_trans_where_2 to do the translation, and pass the initial
|
||||
NULL values for both the control mask and the pending control mask. */
|
||||
NULL values for both the control mask and the pending control mask. */
|
||||
|
||||
tree
|
||||
gfc_trans_where (gfc_code * code)
|
||||
|
@ -308,7 +308,7 @@ tree gfc_trans_scalar_assign (gfc_se *, gfc_se *, bt);
|
||||
/* Translate COMMON blocks. */
|
||||
void gfc_trans_common (gfc_namespace *);
|
||||
|
||||
/* Translate a derived type constructor. */
|
||||
/* Translate a derived type constructor. */
|
||||
void gfc_conv_structure (gfc_se *, gfc_expr *, int);
|
||||
|
||||
/* Return an expression which determines if a dummy parameter is present. */
|
||||
|
Loading…
Reference in New Issue
Block a user