Commit cd5ecab6 by Daniel Franke Committed by Daniel Franke

gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id'...

2007-05-29  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
        added missing GFC_ISYM_* enumerators, ordered alphabetically.
        (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
        (gfc_find_subroutine): New prototype.
        * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
        (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
        * dependency.c: Changed usage of isym->generic_id to isym->id.
        * openmp.c: Likewise.
        * resolve.c: Likewise.
        * trans-array.c: Likewise.
        * trans-expr.c: Likewise.
        * trans-intrinsic.c: Likewise.
        * trans-openmp.c: Likewise.

From-SVN: r125168
parent b7616c40
2007-05-29 Daniel Franke <franke.daniel@gmail.com>
* gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
added missing GFC_ISYM_* enumerators, ordered alphabetically.
(struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
(gfc_find_subroutine): New prototype.
* intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
(find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
* dependency.c: Changed usage of isym->generic_id to isym->id.
* openmp.c: Likewise.
* resolve.c: Likewise.
* trans-array.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-openmp.c: Likewise.
2007-05-28 Tobias Schlter <tobi@gcc.gnu.org> 2007-05-28 Tobias Schlter <tobi@gcc.gnu.org>
* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
......
...@@ -222,7 +222,7 @@ gfc_dep_compare_expr (gfc_expr *e1, gfc_expr *e2) ...@@ -222,7 +222,7 @@ gfc_dep_compare_expr (gfc_expr *e1, gfc_expr *e2)
/* We should list the "constant" intrinsic functions. Those /* We should list the "constant" intrinsic functions. Those
without side-effects that provide equal results given equal without side-effects that provide equal results given equal
argument lists. */ argument lists. */
switch (e1->value.function.isym->generic_id) switch (e1->value.function.isym->id)
{ {
case GFC_ISYM_CONVERSION: case GFC_ISYM_CONVERSION:
/* Handle integer extensions specially, as __convert_i4_i8 /* Handle integer extensions specially, as __convert_i4_i8
...@@ -373,7 +373,7 @@ gfc_get_noncopying_intrinsic_argument (gfc_expr *expr) ...@@ -373,7 +373,7 @@ gfc_get_noncopying_intrinsic_argument (gfc_expr *expr)
if (expr->expr_type != EXPR_FUNCTION || !expr->value.function.isym) if (expr->expr_type != EXPR_FUNCTION || !expr->value.function.isym)
return NULL; return NULL;
switch (expr->value.function.isym->generic_id) switch (expr->value.function.isym->id)
{ {
case GFC_ISYM_TRANSPOSE: case GFC_ISYM_TRANSPOSE:
return expr->value.function.actual->expr; return expr->value.function.actual->expr;
......
...@@ -303,11 +303,12 @@ extern const mstring ifsrc_types[]; ...@@ -303,11 +303,12 @@ extern const mstring ifsrc_types[];
/* Enumeration of all the generic intrinsic functions. Used by the /* Enumeration of all the generic intrinsic functions. Used by the
backend for identification of a function. */ backend for identification of a function. */
enum gfc_generic_isym_id enum gfc_isym_id
{ {
/* GFC_ISYM_NONE is used for intrinsics which will never be seen by /* GFC_ISYM_NONE is used for intrinsics which will never be seen by
the backend (eg. KIND). */ the backend (eg. KIND). */
GFC_ISYM_NONE = 0, GFC_ISYM_NONE = 0,
GFC_ISYM_ABORT,
GFC_ISYM_ABS, GFC_ISYM_ABS,
GFC_ISYM_ACCESS, GFC_ISYM_ACCESS,
GFC_ISYM_ACHAR, GFC_ISYM_ACHAR,
...@@ -317,23 +318,19 @@ enum gfc_generic_isym_id ...@@ -317,23 +318,19 @@ enum gfc_generic_isym_id
GFC_ISYM_ADJUSTR, GFC_ISYM_ADJUSTR,
GFC_ISYM_AIMAG, GFC_ISYM_AIMAG,
GFC_ISYM_AINT, GFC_ISYM_AINT,
GFC_ISYM_ALARM,
GFC_ISYM_ALL, GFC_ISYM_ALL,
GFC_ISYM_ALLOCATED, GFC_ISYM_ALLOCATED,
GFC_ISYM_ANINT,
GFC_ISYM_AND, GFC_ISYM_AND,
GFC_ISYM_ANINT,
GFC_ISYM_ANY, GFC_ISYM_ANY,
GFC_ISYM_ASIN, GFC_ISYM_ASIN,
GFC_ISYM_ASINH, GFC_ISYM_ASINH,
GFC_ISYM_ASSOCIATED, GFC_ISYM_ASSOCIATED,
GFC_ISYM_ATAN, GFC_ISYM_ATAN,
GFC_ISYM_ATANH,
GFC_ISYM_ATAN2, GFC_ISYM_ATAN2,
GFC_ISYM_J0, GFC_ISYM_ATANH,
GFC_ISYM_J1, GFC_ISYM_BIT_SIZE,
GFC_ISYM_JN,
GFC_ISYM_Y0,
GFC_ISYM_Y1,
GFC_ISYM_YN,
GFC_ISYM_BTEST, GFC_ISYM_BTEST,
GFC_ISYM_CEILING, GFC_ISYM_CEILING,
GFC_ISYM_CHAR, GFC_ISYM_CHAR,
...@@ -343,36 +340,55 @@ enum gfc_generic_isym_id ...@@ -343,36 +340,55 @@ enum gfc_generic_isym_id
GFC_ISYM_COMMAND_ARGUMENT_COUNT, GFC_ISYM_COMMAND_ARGUMENT_COUNT,
GFC_ISYM_COMPLEX, GFC_ISYM_COMPLEX,
GFC_ISYM_CONJG, GFC_ISYM_CONJG,
GFC_ISYM_CONVERSION,
GFC_ISYM_COS, GFC_ISYM_COS,
GFC_ISYM_COSH, GFC_ISYM_COSH,
GFC_ISYM_COUNT, GFC_ISYM_COUNT,
GFC_ISYM_CPU_TIME,
GFC_ISYM_CSHIFT, GFC_ISYM_CSHIFT,
GFC_ISYM_CTIME, GFC_ISYM_CTIME,
GFC_ISYM_DATE_AND_TIME,
GFC_ISYM_DBLE, GFC_ISYM_DBLE,
GFC_ISYM_DIGITS,
GFC_ISYM_DIM, GFC_ISYM_DIM,
GFC_ISYM_DOT_PRODUCT, GFC_ISYM_DOT_PRODUCT,
GFC_ISYM_DPROD, GFC_ISYM_DPROD,
GFC_ISYM_DTIME,
GFC_ISYM_EOSHIFT, GFC_ISYM_EOSHIFT,
GFC_ISYM_EPSILON,
GFC_ISYM_ERF, GFC_ISYM_ERF,
GFC_ISYM_ERFC, GFC_ISYM_ERFC,
GFC_ISYM_ETIME, GFC_ISYM_ETIME,
GFC_ISYM_EXIT,
GFC_ISYM_EXP, GFC_ISYM_EXP,
GFC_ISYM_EXPONENT, GFC_ISYM_EXPONENT,
GFC_ISYM_FDATE, GFC_ISYM_FDATE,
GFC_ISYM_FGET, GFC_ISYM_FGET,
GFC_ISYM_FGETC, GFC_ISYM_FGETC,
GFC_ISYM_FLOOR, GFC_ISYM_FLOOR,
GFC_ISYM_FLUSH,
GFC_ISYM_FNUM, GFC_ISYM_FNUM,
GFC_ISYM_FPUT, GFC_ISYM_FPUT,
GFC_ISYM_FPUTC, GFC_ISYM_FPUTC,
GFC_ISYM_FRACTION, GFC_ISYM_FRACTION,
GFC_ISYM_FREE,
GFC_ISYM_FSEEK,
GFC_ISYM_FSTAT, GFC_ISYM_FSTAT,
GFC_ISYM_FTELL, GFC_ISYM_FTELL,
GFC_ISYM_GERROR,
GFC_ISYM_GETARG,
GFC_ISYM_GET_COMMAND,
GFC_ISYM_GET_COMMAND_ARGUMENT,
GFC_ISYM_GETCWD, GFC_ISYM_GETCWD,
GFC_ISYM_GETENV,
GFC_ISYM_GET_ENVIRONMENT_VARIABLE,
GFC_ISYM_GETGID, GFC_ISYM_GETGID,
GFC_ISYM_GETLOG,
GFC_ISYM_GETPID, GFC_ISYM_GETPID,
GFC_ISYM_GETUID, GFC_ISYM_GETUID,
GFC_ISYM_GMTIME,
GFC_ISYM_HOSTNM, GFC_ISYM_HOSTNM,
GFC_ISYM_HUGE,
GFC_ISYM_IACHAR, GFC_ISYM_IACHAR,
GFC_ISYM_IAND, GFC_ISYM_IAND,
GFC_ISYM_IARGC, GFC_ISYM_IARGC,
...@@ -380,6 +396,7 @@ enum gfc_generic_isym_id ...@@ -380,6 +396,7 @@ enum gfc_generic_isym_id
GFC_ISYM_IBITS, GFC_ISYM_IBITS,
GFC_ISYM_IBSET, GFC_ISYM_IBSET,
GFC_ISYM_ICHAR, GFC_ISYM_ICHAR,
GFC_ISYM_IDATE,
GFC_ISYM_IEOR, GFC_ISYM_IEOR,
GFC_ISYM_IERRNO, GFC_ISYM_IERRNO,
GFC_ISYM_INDEX, GFC_ISYM_INDEX,
...@@ -391,13 +408,18 @@ enum gfc_generic_isym_id ...@@ -391,13 +408,18 @@ enum gfc_generic_isym_id
GFC_ISYM_ISATTY, GFC_ISYM_ISATTY,
GFC_ISYM_ISHFT, GFC_ISYM_ISHFT,
GFC_ISYM_ISHFTC, GFC_ISYM_ISHFTC,
GFC_ISYM_ITIME,
GFC_ISYM_J0,
GFC_ISYM_J1,
GFC_ISYM_JN,
GFC_ISYM_KILL, GFC_ISYM_KILL,
GFC_ISYM_KIND,
GFC_ISYM_LBOUND, GFC_ISYM_LBOUND,
GFC_ISYM_LEN, GFC_ISYM_LEN,
GFC_ISYM_LEN_TRIM, GFC_ISYM_LEN_TRIM,
GFC_ISYM_LINK,
GFC_ISYM_LGE, GFC_ISYM_LGE,
GFC_ISYM_LGT, GFC_ISYM_LGT,
GFC_ISYM_LINK,
GFC_ISYM_LLE, GFC_ISYM_LLE,
GFC_ISYM_LLT, GFC_ISYM_LLT,
GFC_ISYM_LOC, GFC_ISYM_LOC,
...@@ -407,58 +429,76 @@ enum gfc_generic_isym_id ...@@ -407,58 +429,76 @@ enum gfc_generic_isym_id
GFC_ISYM_LONG, GFC_ISYM_LONG,
GFC_ISYM_LSHIFT, GFC_ISYM_LSHIFT,
GFC_ISYM_LSTAT, GFC_ISYM_LSTAT,
GFC_ISYM_LTIME,
GFC_ISYM_MALLOC, GFC_ISYM_MALLOC,
GFC_ISYM_MATMUL, GFC_ISYM_MATMUL,
GFC_ISYM_MAX, GFC_ISYM_MAX,
GFC_ISYM_MAXEXPONENT,
GFC_ISYM_MAXLOC, GFC_ISYM_MAXLOC,
GFC_ISYM_MAXVAL, GFC_ISYM_MAXVAL,
GFC_ISYM_MCLOCK, GFC_ISYM_MCLOCK,
GFC_ISYM_MCLOCK8, GFC_ISYM_MCLOCK8,
GFC_ISYM_MERGE, GFC_ISYM_MERGE,
GFC_ISYM_MIN, GFC_ISYM_MIN,
GFC_ISYM_MINEXPONENT,
GFC_ISYM_MINLOC, GFC_ISYM_MINLOC,
GFC_ISYM_MINVAL, GFC_ISYM_MINVAL,
GFC_ISYM_MOD, GFC_ISYM_MOD,
GFC_ISYM_MODULO, GFC_ISYM_MODULO,
GFC_ISYM_MOVE_ALLOC,
GFC_ISYM_MVBITS,
GFC_ISYM_NEAREST, GFC_ISYM_NEAREST,
GFC_ISYM_NEW_LINE,
GFC_ISYM_NINT, GFC_ISYM_NINT,
GFC_ISYM_NOT, GFC_ISYM_NOT,
GFC_ISYM_NULL,
GFC_ISYM_OR, GFC_ISYM_OR,
GFC_ISYM_PACK, GFC_ISYM_PACK,
GFC_ISYM_PERROR,
GFC_ISYM_PRECISION,
GFC_ISYM_PRESENT, GFC_ISYM_PRESENT,
GFC_ISYM_PRODUCT, GFC_ISYM_PRODUCT,
GFC_ISYM_RADIX,
GFC_ISYM_RAND, GFC_ISYM_RAND,
GFC_ISYM_RANDOM_NUMBER,
GFC_ISYM_RANDOM_SEED,
GFC_ISYM_RANGE,
GFC_ISYM_REAL, GFC_ISYM_REAL,
GFC_ISYM_RENAME, GFC_ISYM_RENAME,
GFC_ISYM_REPEAT, GFC_ISYM_REPEAT,
GFC_ISYM_RESHAPE, GFC_ISYM_RESHAPE,
GFC_ISYM_RSHIFT,
GFC_ISYM_RRSPACING, GFC_ISYM_RRSPACING,
GFC_ISYM_RSHIFT,
GFC_ISYM_SCALE, GFC_ISYM_SCALE,
GFC_ISYM_SCAN, GFC_ISYM_SCAN,
GFC_ISYM_SECOND,
GFC_ISYM_SECNDS, GFC_ISYM_SECNDS,
GFC_ISYM_SECOND,
GFC_ISYM_SET_EXPONENT, GFC_ISYM_SET_EXPONENT,
GFC_ISYM_SHAPE, GFC_ISYM_SHAPE,
GFC_ISYM_SI_KIND,
GFC_ISYM_SIGN, GFC_ISYM_SIGN,
GFC_ISYM_SIGNAL, GFC_ISYM_SIGNAL,
GFC_ISYM_SI_KIND,
GFC_ISYM_SIN, GFC_ISYM_SIN,
GFC_ISYM_SINH, GFC_ISYM_SINH,
GFC_ISYM_SIZE, GFC_ISYM_SIZE,
GFC_ISYM_SLEEP,
GFC_ISYM_SIZEOF, GFC_ISYM_SIZEOF,
GFC_ISYM_SPACING, GFC_ISYM_SPACING,
GFC_ISYM_SPREAD, GFC_ISYM_SPREAD,
GFC_ISYM_SQRT, GFC_ISYM_SQRT,
GFC_ISYM_SRAND,
GFC_ISYM_SR_KIND, GFC_ISYM_SR_KIND,
GFC_ISYM_STAT, GFC_ISYM_STAT,
GFC_ISYM_SUM, GFC_ISYM_SUM,
GFC_ISYM_SYMLINK,
GFC_ISYM_SYMLNK, GFC_ISYM_SYMLNK,
GFC_ISYM_SYSTEM, GFC_ISYM_SYSTEM,
GFC_ISYM_SYSTEM_CLOCK,
GFC_ISYM_TAN, GFC_ISYM_TAN,
GFC_ISYM_TANH, GFC_ISYM_TANH,
GFC_ISYM_TIME, GFC_ISYM_TIME,
GFC_ISYM_TIME8, GFC_ISYM_TIME8,
GFC_ISYM_TINY,
GFC_ISYM_TRANSFER, GFC_ISYM_TRANSFER,
GFC_ISYM_TRANSPOSE, GFC_ISYM_TRANSPOSE,
GFC_ISYM_TRIM, GFC_ISYM_TRIM,
...@@ -469,9 +509,11 @@ enum gfc_generic_isym_id ...@@ -469,9 +509,11 @@ enum gfc_generic_isym_id
GFC_ISYM_UNPACK, GFC_ISYM_UNPACK,
GFC_ISYM_VERIFY, GFC_ISYM_VERIFY,
GFC_ISYM_XOR, GFC_ISYM_XOR,
GFC_ISYM_CONVERSION GFC_ISYM_Y0,
GFC_ISYM_Y1,
GFC_ISYM_YN
}; };
typedef enum gfc_generic_isym_id gfc_generic_isym_id; typedef enum gfc_isym_id gfc_isym_id;
/* Runtime errors. The EOR and EOF errors are required to be negative. /* Runtime errors. The EOR and EOF errors are required to be negative.
These codes must be kept synchronized with their equivalents in These codes must be kept synchronized with their equivalents in
...@@ -1252,7 +1294,7 @@ typedef struct gfc_intrinsic_sym ...@@ -1252,7 +1294,7 @@ typedef struct gfc_intrinsic_sym
gfc_check_f check; gfc_check_f check;
gfc_resolve_f resolve; gfc_resolve_f resolve;
struct gfc_intrinsic_sym *specific_head, *next; struct gfc_intrinsic_sym *specific_head, *next;
gfc_generic_isym_id generic_id; gfc_isym_id id;
} }
gfc_intrinsic_sym; gfc_intrinsic_sym;
...@@ -2020,6 +2062,7 @@ int gfc_specific_intrinsic (const char *); ...@@ -2020,6 +2062,7 @@ int gfc_specific_intrinsic (const char *);
int gfc_intrinsic_name (const char *, int); int gfc_intrinsic_name (const char *, int);
int gfc_intrinsic_actual_ok (const char *, const bool); int gfc_intrinsic_actual_ok (const char *, const bool);
gfc_intrinsic_sym *gfc_find_function (const char *); gfc_intrinsic_sym *gfc_find_function (const char *);
gfc_intrinsic_sym *gfc_find_subroutine (const char *);
match gfc_intrinsic_func_interface (gfc_expr *, int); match gfc_intrinsic_func_interface (gfc_expr *, int);
match gfc_intrinsic_sub_interface (gfc_code *, int); match gfc_intrinsic_sub_interface (gfc_code *, int);
......
...@@ -942,7 +942,7 @@ is_conversion (gfc_expr *expr, bool widening) ...@@ -942,7 +942,7 @@ is_conversion (gfc_expr *expr, bool widening)
if (expr->expr_type != EXPR_FUNCTION if (expr->expr_type != EXPR_FUNCTION
|| expr->value.function.isym == NULL || expr->value.function.isym == NULL
|| expr->value.function.esym != NULL || expr->value.function.esym != NULL
|| expr->value.function.isym->generic_id != GFC_ISYM_CONVERSION) || expr->value.function.isym->id != GFC_ISYM_CONVERSION)
return NULL; return NULL;
if (widening) if (widening)
...@@ -1130,7 +1130,7 @@ resolve_omp_atomic (gfc_code *code) ...@@ -1130,7 +1130,7 @@ resolve_omp_atomic (gfc_code *code)
{ {
gfc_actual_arglist *arg, *var_arg; gfc_actual_arglist *arg, *var_arg;
switch (expr2->value.function.isym->generic_id) switch (expr2->value.function.isym->id)
{ {
case GFC_ISYM_MIN: case GFC_ISYM_MIN:
case GFC_ISYM_MAX: case GFC_ISYM_MAX:
......
...@@ -1179,7 +1179,7 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c) ...@@ -1179,7 +1179,7 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c)
&& formal_optional && formal_optional
&& arg->expr->rank && arg->expr->rank
&& (set_by_optional || arg->expr->rank != rank) && (set_by_optional || arg->expr->rank != rank)
&& !(isym && isym->generic_id == GFC_ISYM_CONVERSION)) && !(isym && isym->id == GFC_ISYM_CONVERSION))
{ {
gfc_warning ("'%s' at %L is an array and OPTIONAL; IF IT IS " gfc_warning ("'%s' at %L is an array and OPTIONAL; IF IT IS "
"MISSING, it cannot be the actual argument of an " "MISSING, it cannot be the actual argument of an "
...@@ -1653,7 +1653,7 @@ resolve_function (gfc_expr *expr) ...@@ -1653,7 +1653,7 @@ resolve_function (gfc_expr *expr)
t = FAILURE; t = FAILURE;
} }
#define GENERIC_ID expr->value.function.isym->generic_id #define GENERIC_ID expr->value.function.isym->id
else if (expr->value.function.actual != NULL else if (expr->value.function.actual != NULL
&& expr->value.function.isym != NULL && expr->value.function.isym != NULL
&& GENERIC_ID != GFC_ISYM_LBOUND && GENERIC_ID != GFC_ISYM_LBOUND
......
...@@ -2736,7 +2736,7 @@ gfc_conv_ss_startstride (gfc_loopinfo * loop) ...@@ -2736,7 +2736,7 @@ gfc_conv_ss_startstride (gfc_loopinfo * loop)
/* As usual, lbound and ubound are exceptions!. */ /* As usual, lbound and ubound are exceptions!. */
case GFC_SS_INTRINSIC: case GFC_SS_INTRINSIC:
switch (ss->expr->value.function.isym->generic_id) switch (ss->expr->value.function.isym->id)
{ {
case GFC_ISYM_LBOUND: case GFC_ISYM_LBOUND:
case GFC_ISYM_UBOUND: case GFC_ISYM_UBOUND:
...@@ -2772,7 +2772,7 @@ gfc_conv_ss_startstride (gfc_loopinfo * loop) ...@@ -2772,7 +2772,7 @@ gfc_conv_ss_startstride (gfc_loopinfo * loop)
break; break;
case GFC_SS_INTRINSIC: case GFC_SS_INTRINSIC:
switch (ss->expr->value.function.isym->generic_id) switch (ss->expr->value.function.isym->id)
{ {
/* Fall through to supply start and stride. */ /* Fall through to supply start and stride. */
case GFC_ISYM_LBOUND: case GFC_ISYM_LBOUND:
......
...@@ -1655,7 +1655,7 @@ gfc_apply_interface_mapping_to_expr (gfc_interface_mapping * mapping, ...@@ -1655,7 +1655,7 @@ gfc_apply_interface_mapping_to_expr (gfc_interface_mapping * mapping,
case EXPR_FUNCTION: case EXPR_FUNCTION:
if (expr->value.function.esym == NULL if (expr->value.function.esym == NULL
&& expr->value.function.isym != NULL && expr->value.function.isym != NULL
&& expr->value.function.isym->generic_id == GFC_ISYM_LEN && expr->value.function.isym->id == GFC_ISYM_LEN
&& expr->value.function.actual->expr->expr_type == EXPR_VARIABLE && expr->value.function.actual->expr->expr_type == EXPR_VARIABLE
&& gfc_apply_interface_mapping_to_expr (mapping, && gfc_apply_interface_mapping_to_expr (mapping,
expr->value.function.actual->expr)) expr->value.function.actual->expr))
......
...@@ -49,7 +49,7 @@ typedef struct gfc_intrinsic_map_t GTY(()) ...@@ -49,7 +49,7 @@ typedef struct gfc_intrinsic_map_t GTY(())
{ {
/* The explicit enum is required to work around inadequacies in the /* The explicit enum is required to work around inadequacies in the
garbage collection/gengtype parsing mechanism. */ garbage collection/gengtype parsing mechanism. */
enum gfc_generic_isym_id id; enum gfc_isym_id id;
/* Enum value from the "language-independent", aka C-centric, part /* Enum value from the "language-independent", aka C-centric, part
of gcc, or END_BUILTINS of no such value set. */ of gcc, or END_BUILTINS of no such value set. */
...@@ -649,9 +649,9 @@ gfc_conv_intrinsic_lib_function (gfc_se * se, gfc_expr * expr) ...@@ -649,9 +649,9 @@ gfc_conv_intrinsic_lib_function (gfc_se * se, gfc_expr * expr)
gfc_intrinsic_map_t *m; gfc_intrinsic_map_t *m;
tree args; tree args;
tree fndecl; tree fndecl;
gfc_generic_isym_id id; gfc_isym_id id;
id = expr->value.function.isym->generic_id; id = expr->value.function.isym->id;
/* Find the entry for this function. */ /* Find the entry for this function. */
for (m = gfc_intrinsic_map; m->id != GFC_ISYM_NONE; m++) for (m = gfc_intrinsic_map; m->id != GFC_ISYM_NONE; m++)
{ {
...@@ -1468,7 +1468,7 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * expr) ...@@ -1468,7 +1468,7 @@ gfc_conv_intrinsic_funcall (gfc_se * se, gfc_expr * expr)
/* Calls to libgfortran_matmul need to be appended special arguments, /* Calls to libgfortran_matmul need to be appended special arguments,
to be able to call the BLAS ?gemm functions if required and possible. */ to be able to call the BLAS ?gemm functions if required and possible. */
append_args = NULL_TREE; append_args = NULL_TREE;
if (expr->value.function.isym->generic_id == GFC_ISYM_MATMUL if (expr->value.function.isym->id == GFC_ISYM_MATMUL
&& sym->ts.type != BT_LOGICAL) && sym->ts.type != BT_LOGICAL)
{ {
tree cint = gfc_get_int_type (gfc_c_int_kind); tree cint = gfc_get_int_type (gfc_c_int_kind);
...@@ -3634,7 +3634,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr) ...@@ -3634,7 +3634,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
} }
} }
switch (expr->value.function.isym->generic_id) switch (expr->value.function.isym->id)
{ {
case GFC_ISYM_NONE: case GFC_ISYM_NONE:
gcc_unreachable (); gcc_unreachable ();
...@@ -4035,7 +4035,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr) ...@@ -4035,7 +4035,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
void void
gfc_add_intrinsic_ss_code (gfc_loopinfo * loop ATTRIBUTE_UNUSED, gfc_ss * ss) gfc_add_intrinsic_ss_code (gfc_loopinfo * loop ATTRIBUTE_UNUSED, gfc_ss * ss)
{ {
switch (ss->expr->value.function.isym->generic_id) switch (ss->expr->value.function.isym->id)
{ {
case GFC_ISYM_UBOUND: case GFC_ISYM_UBOUND:
case GFC_ISYM_LBOUND: case GFC_ISYM_LBOUND:
...@@ -4098,7 +4098,7 @@ gfc_is_intrinsic_libcall (gfc_expr * expr) ...@@ -4098,7 +4098,7 @@ gfc_is_intrinsic_libcall (gfc_expr * expr)
gcc_assert (expr->expr_type == EXPR_FUNCTION && expr->value.function.isym); gcc_assert (expr->expr_type == EXPR_FUNCTION && expr->value.function.isym);
gcc_assert (expr->rank > 0); gcc_assert (expr->rank > 0);
switch (expr->value.function.isym->generic_id) switch (expr->value.function.isym->id)
{ {
case GFC_ISYM_ALL: case GFC_ISYM_ALL:
case GFC_ISYM_ANY: case GFC_ISYM_ANY:
...@@ -4146,7 +4146,7 @@ gfc_walk_intrinsic_function (gfc_ss * ss, gfc_expr * expr, ...@@ -4146,7 +4146,7 @@ gfc_walk_intrinsic_function (gfc_ss * ss, gfc_expr * expr,
return gfc_walk_intrinsic_libfunc (ss, expr); return gfc_walk_intrinsic_libfunc (ss, expr);
/* Special cases. */ /* Special cases. */
switch (isym->generic_id) switch (isym->id)
{ {
case GFC_ISYM_LBOUND: case GFC_ISYM_LBOUND:
case GFC_ISYM_UBOUND: case GFC_ISYM_UBOUND:
......
...@@ -733,7 +733,7 @@ gfc_trans_omp_atomic (gfc_code *code) ...@@ -733,7 +733,7 @@ gfc_trans_omp_atomic (gfc_code *code)
expr2 = code->expr2; expr2 = code->expr2;
if (expr2->expr_type == EXPR_FUNCTION if (expr2->expr_type == EXPR_FUNCTION
&& expr2->value.function.isym->generic_id == GFC_ISYM_CONVERSION) && expr2->value.function.isym->id == GFC_ISYM_CONVERSION)
expr2 = expr2->value.function.actual->expr; expr2 = expr2->value.function.actual->expr;
if (expr2->expr_type == EXPR_OP) if (expr2->expr_type == EXPR_OP)
...@@ -773,7 +773,7 @@ gfc_trans_omp_atomic (gfc_code *code) ...@@ -773,7 +773,7 @@ gfc_trans_omp_atomic (gfc_code *code)
} }
e = expr2->value.op.op1; e = expr2->value.op.op1;
if (e->expr_type == EXPR_FUNCTION if (e->expr_type == EXPR_FUNCTION
&& e->value.function.isym->generic_id == GFC_ISYM_CONVERSION) && e->value.function.isym->id == GFC_ISYM_CONVERSION)
e = e->value.function.actual->expr; e = e->value.function.actual->expr;
if (e->expr_type == EXPR_VARIABLE if (e->expr_type == EXPR_VARIABLE
&& e->symtree != NULL && e->symtree != NULL
...@@ -786,7 +786,7 @@ gfc_trans_omp_atomic (gfc_code *code) ...@@ -786,7 +786,7 @@ gfc_trans_omp_atomic (gfc_code *code)
{ {
e = expr2->value.op.op2; e = expr2->value.op.op2;
if (e->expr_type == EXPR_FUNCTION if (e->expr_type == EXPR_FUNCTION
&& e->value.function.isym->generic_id == GFC_ISYM_CONVERSION) && e->value.function.isym->id == GFC_ISYM_CONVERSION)
e = e->value.function.actual->expr; e = e->value.function.actual->expr;
gcc_assert (e->expr_type == EXPR_VARIABLE gcc_assert (e->expr_type == EXPR_VARIABLE
&& e->symtree != NULL && e->symtree != NULL
...@@ -800,7 +800,7 @@ gfc_trans_omp_atomic (gfc_code *code) ...@@ -800,7 +800,7 @@ gfc_trans_omp_atomic (gfc_code *code)
else else
{ {
gcc_assert (expr2->expr_type == EXPR_FUNCTION); gcc_assert (expr2->expr_type == EXPR_FUNCTION);
switch (expr2->value.function.isym->generic_id) switch (expr2->value.function.isym->id)
{ {
case GFC_ISYM_MIN: case GFC_ISYM_MIN:
op = MIN_EXPR; op = MIN_EXPR;
......
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