aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde@tbsaunde.org>2015-08-19 02:48:48 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-08-19 02:48:48 +0000
commita79683d5f0104b9da2d6104d4910bbfcb0c63604 (patch)
treef2dab2e9a051a54be5232b46ee4f1452e6db714b /gcc/fortran
parent506868500a53b9181d45596cc7e138dce2f97d9e (diff)
downloadgcc-a79683d5f0104b9da2d6104d4910bbfcb0c63604.zip
gcc-a79683d5f0104b9da2d6104d4910bbfcb0c63604.tar.gz
gcc-a79683d5f0104b9da2d6104d4910bbfcb0c63604.tar.bz2
remove more useless typedefs
gcc/c-family/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h, c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless typedefs. gcc/c/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs. gcc/cp/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c, method.c, name-lookup.h, parser.c, parser.h, rtti.c, semantics.c, typeck2.c: Remove useless typedefs. gcc/fortran/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * dependency.c, dependency.h, gfortran.h, io.c, module.c, parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs. gcc/lto/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * lto.h: Remove useless typedefs. gcc/objc/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h: Remove useless typedefs. gcc/ChangeLog: 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c, dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h, mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c, signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c, tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c, tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c, tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless typedefs. From-SVN: r227001
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/dependency.c5
-rw-r--r--gcc/fortran/dependency.h5
-rw-r--r--gcc/fortran/gfortran.h161
-rw-r--r--gcc/fortran/io.c5
-rw-r--r--gcc/fortran/module.c10
-rw-r--r--gcc/fortran/parse.h5
-rw-r--r--gcc/fortran/resolve.c15
-rw-r--r--gcc/fortran/trans-types.h4
-rw-r--r--gcc/fortran/trans.h10
10 files changed, 93 insertions, 132 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3a63875..9cbaf6c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
+
+ * dependency.c, dependency.h, gfortran.h, io.c, module.c,
+ parse.h, resolve.c, trans-types.h, trans.h: remove useless
+
2015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/54656
diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c
index 8b07f59..ca37c1a 100644
--- a/gcc/fortran/dependency.c
+++ b/gcc/fortran/dependency.c
@@ -36,7 +36,7 @@ along with GCC; see the file COPYING3. If not see
enum range {LHS, RHS, MID};
/* Dependency types. These must be in reverse order of priority. */
-typedef enum
+enum gfc_dependency
{
GFC_DEP_ERROR,
GFC_DEP_EQUAL, /* Identical Ranges. */
@@ -44,8 +44,7 @@ typedef enum
GFC_DEP_BACKWARD, /* e.g. a(2:4) = a(1:3). */
GFC_DEP_OVERLAP, /* May overlap in some other way. */
GFC_DEP_NODEP /* Distinct ranges. */
-}
-gfc_dependency;
+};
/* Macros */
#define IS_ARRAY_EXPLICIT(as) ((as->type == AS_EXPLICIT ? 1 : 0))
diff --git a/gcc/fortran/dependency.h b/gcc/fortran/dependency.h
index 48d9e6f..08792ed 100644
--- a/gcc/fortran/dependency.h
+++ b/gcc/fortran/dependency.h
@@ -19,14 +19,13 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/****************************** Enums *********************************/
-typedef enum
+enum gfc_dep_check
{
NOT_ELEMENTAL, /* Not elemental case: normal dependency check. */
ELEM_CHECK_VARIABLE, /* Test whether variables overlap. */
ELEM_DONT_CHECK_VARIABLE /* Test whether variables overlap only if used
in an expression. */
-}
-gfc_dep_check;
+};
/*********************** Functions prototypes **************************/
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 5a0c369..9c0084b 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -102,70 +102,61 @@ mstring;
/* Used when matching and resolving data I/O transfer statements. */
-typedef enum
-{ M_READ, M_WRITE, M_PRINT, M_INQUIRE }
-io_kind;
+enum io_kind
+{ M_READ, M_WRITE, M_PRINT, M_INQUIRE };
/* These are flags for identifying whether we are reading a character literal
between quotes or normal source code. */
-typedef enum
-{ NONSTRING = 0, INSTRING_WARN, INSTRING_NOWARN }
-gfc_instring;
+enum gfc_instring
+{ NONSTRING = 0, INSTRING_WARN, INSTRING_NOWARN };
/* This is returned by gfc_notification_std to know if, given the flags
that were given (-std=, -pedantic) we should issue an error, a warning
or nothing. */
-typedef enum
-{ SILENT, WARNING, ERROR }
-notification;
+enum notification
+{ SILENT, WARNING, ERROR };
/* Matchers return one of these three values. The difference between
MATCH_NO and MATCH_ERROR is that MATCH_ERROR means that a match was
successful, but that something non-syntactic is wrong and an error
has already been issued. */
-typedef enum
-{ MATCH_NO = 1, MATCH_YES, MATCH_ERROR }
-match;
+enum match
+{ MATCH_NO = 1, MATCH_YES, MATCH_ERROR };
/* Used for different Fortran source forms in places like scanner.c. */
-typedef enum
-{ FORM_FREE, FORM_FIXED, FORM_UNKNOWN }
-gfc_source_form;
+enum gfc_source_form
+{ FORM_FREE, FORM_FIXED, FORM_UNKNOWN };
/* Expression node types. */
-typedef enum
+enum expr_t
{ EXPR_OP = 1, EXPR_FUNCTION, EXPR_CONSTANT, EXPR_VARIABLE,
EXPR_SUBSTRING, EXPR_STRUCTURE, EXPR_ARRAY, EXPR_NULL, EXPR_COMPCALL, EXPR_PPC
-}
-expr_t;
+};
/* Array types. */
-typedef enum
+enum array_type
{ AS_EXPLICIT = 1, AS_ASSUMED_SHAPE, AS_DEFERRED,
AS_ASSUMED_SIZE, AS_IMPLIED_SHAPE, AS_ASSUMED_RANK,
AS_UNKNOWN
-}
-array_type;
+};
-typedef enum
-{ AR_FULL = 1, AR_ELEMENT, AR_SECTION, AR_UNKNOWN }
-ar_type;
+enum ar_type
+{ AR_FULL = 1, AR_ELEMENT, AR_SECTION, AR_UNKNOWN };
/* Statement label types. ST_LABEL_DO_TARGET is used for obsolescent warnings
related to shared DO terminations and DO targets which are neither END DO
nor CONTINUE; otherwise it is identical to ST_LABEL_TARGET. */
-typedef enum
+enum gfc_sl_type
{ ST_LABEL_UNKNOWN = 1, ST_LABEL_TARGET, ST_LABEL_DO_TARGET,
ST_LABEL_BAD_TARGET, ST_LABEL_FORMAT
-}
-gfc_sl_type;
+};
/* Intrinsic operators. */
-typedef enum
+enum gfc_intrinsic_op
{ GFC_INTRINSIC_BEGIN = 0,
INTRINSIC_NONE = -1, INTRINSIC_UPLUS = GFC_INTRINSIC_BEGIN,
INTRINSIC_UMINUS, INTRINSIC_PLUS, INTRINSIC_MINUS, INTRINSIC_TIMES,
@@ -179,22 +170,20 @@ typedef enum
INTRINSIC_LT_OS, INTRINSIC_LE_OS,
INTRINSIC_NOT, INTRINSIC_USER, INTRINSIC_ASSIGN,
INTRINSIC_PARENTHESES, GFC_INTRINSIC_END /* Sentinel */
-}
-gfc_intrinsic_op;
+};
/* This macro is the number of intrinsic operators that exist.
Assumptions are made about the numbering of the interface_op enums. */
#define GFC_INTRINSIC_OPS GFC_INTRINSIC_END
/* Arithmetic results. */
-typedef enum
+enum arith
{ ARITH_OK = 1, ARITH_OVERFLOW, ARITH_UNDERFLOW, ARITH_NAN,
ARITH_DIV0, ARITH_INCOMMENSURATE, ARITH_ASYMMETRIC, ARITH_PROHIBIT
-}
-arith;
+};
/* Statements. */
-typedef enum
+enum gfc_statement
{
ST_ARITHMETIC_IF, ST_ALLOCATE, ST_ATTR_DECL, ST_ASSOCIATE,
ST_BACKSPACE, ST_BLOCK, ST_BLOCK_DATA,
@@ -252,62 +241,54 @@ typedef enum
ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
ST_PROCEDURE, ST_GENERIC, ST_CRITICAL, ST_END_CRITICAL,
ST_GET_FCN_CHARACTERISTICS, ST_LOCK, ST_UNLOCK, ST_NONE
-}
-gfc_statement;
+};
/* Types of interfaces that we can have. Assignment interfaces are
considered to be intrinsic operators. */
-typedef enum
+enum interface_type
{
INTERFACE_NAMELESS = 1, INTERFACE_GENERIC,
INTERFACE_INTRINSIC_OP, INTERFACE_USER_OP, INTERFACE_ABSTRACT
-}
-interface_type;
+};
/* Symbol flavors: these are all mutually exclusive.
10 elements = 4 bits. */
-typedef enum sym_flavor
+enum sym_flavor
{
FL_UNKNOWN = 0, FL_PROGRAM, FL_BLOCK_DATA, FL_MODULE, FL_VARIABLE,
FL_PARAMETER, FL_LABEL, FL_PROCEDURE, FL_DERIVED, FL_NAMELIST,
FL_VOID
-}
-sym_flavor;
+};
/* Procedure types. 7 elements = 3 bits. */
-typedef enum procedure_type
+enum procedure_type
{ PROC_UNKNOWN, PROC_MODULE, PROC_INTERNAL, PROC_DUMMY,
PROC_INTRINSIC, PROC_ST_FUNCTION, PROC_EXTERNAL
-}
-procedure_type;
+};
/* Intent types. */
-typedef enum sym_intent
+enum sym_intent
{ INTENT_UNKNOWN = 0, INTENT_IN, INTENT_OUT, INTENT_INOUT
-}
-sym_intent;
+};
/* Access types. */
-typedef enum gfc_access
+enum gfc_access
{ ACCESS_UNKNOWN = 0, ACCESS_PUBLIC, ACCESS_PRIVATE
-}
-gfc_access;
+};
/* Flags to keep track of where an interface came from.
3 elements = 2 bits. */
-typedef enum ifsrc
+enum ifsrc
{ IFSRC_UNKNOWN = 0, /* Interface unknown, only return type may be known. */
IFSRC_DECL, /* FUNCTION or SUBROUTINE declaration. */
IFSRC_IFBODY /* INTERFACE statement or PROCEDURE statement
with explicit interface. */
-}
-ifsrc;
+};
/* Whether a SAVE attribute was set explicitly or implicitly. */
-typedef enum save_state
+enum save_state
{ SAVE_NONE = 0, SAVE_EXPLICIT, SAVE_IMPLICIT
-}
-save_state;
+};
/* Strings for all symbol attributes. We use these for dumping the
parse tree, in error messages, and also when reading and writing
@@ -602,38 +583,33 @@ enum gfc_isym_id
GFC_ISYM_YN,
GFC_ISYM_YN2
};
-typedef enum gfc_isym_id gfc_isym_id;
-typedef enum
+enum init_local_logical
{
GFC_INIT_LOGICAL_OFF = 0,
GFC_INIT_LOGICAL_FALSE,
GFC_INIT_LOGICAL_TRUE
-}
-init_local_logical;
+};
-typedef enum
+enum init_local_character
{
GFC_INIT_CHARACTER_OFF = 0,
GFC_INIT_CHARACTER_ON
-}
-init_local_character;
+};
-typedef enum
+enum init_local_integer
{
GFC_INIT_INTEGER_OFF = 0,
GFC_INIT_INTEGER_ON
-}
-init_local_integer;
+};
-typedef enum
+enum gfc_reverse
{
GFC_ENABLE_REVERSE,
GFC_FORWARD_SET,
GFC_REVERSE_SET,
GFC_INHIBIT_REVERSE
-}
-gfc_reverse;
+};
/************************* Structures *****************************/
@@ -645,13 +621,12 @@ gfc_reverse;
#define NAMED_FUNCTION(a,b,c,d) a,
#define NAMED_SUBROUTINE(a,b,c,d) a,
#define NAMED_DERIVED_TYPE(a,b,c,d) a,
-typedef enum
+enum iso_fortran_env_symbol
{
ISOFORTRANENV_INVALID = -1,
#include "iso-fortran-env.def"
ISOFORTRANENV_LAST, ISOFORTRANENV_NUMBER = ISOFORTRANENV_LAST
-}
-iso_fortran_env_symbol;
+};
#undef NAMED_INTCST
#undef NAMED_KINDARRAY
#undef NAMED_FUNCTION
@@ -667,14 +642,13 @@ iso_fortran_env_symbol;
#define DERIVED_TYPE(a,b,c) a,
#define NAMED_FUNCTION(a,b,c,d) a,
#define NAMED_SUBROUTINE(a,b,c,d) a,
-typedef enum
+enum iso_c_binding_symbol
{
ISOCBINDING_INVALID = -1,
#include "iso-c-binding.def"
ISOCBINDING_LAST,
ISOCBINDING_NUMBER = ISOCBINDING_LAST
-}
-iso_c_binding_symbol;
+};
#undef NAMED_INTCST
#undef NAMED_REALCST
#undef NAMED_CMPXCST
@@ -685,12 +659,11 @@ iso_c_binding_symbol;
#undef NAMED_FUNCTION
#undef NAMED_SUBROUTINE
-typedef enum
+enum intmod_id
{
INTMOD_NONE = 0, INTMOD_ISO_FORTRAN_ENV, INTMOD_ISO_C_BINDING,
INTMOD_IEEE_FEATURES, INTMOD_IEEE_EXCEPTIONS, INTMOD_IEEE_ARITHMETIC
-}
-intmod_id;
+};
typedef struct
{
@@ -1095,7 +1068,7 @@ gfc_expr_list;
#define gfc_get_expr_list() XCNEW (gfc_expr_list)
-typedef enum
+enum gfc_omp_reduction_op
{
OMP_REDUCTION_NONE = -1,
OMP_REDUCTION_PLUS = INTRINSIC_PLUS,
@@ -1111,18 +1084,16 @@ typedef enum
OMP_REDUCTION_IOR,
OMP_REDUCTION_IEOR,
OMP_REDUCTION_USER
-}
-gfc_omp_reduction_op;
+};
-typedef enum
+enum gfc_omp_depend_op
{
OMP_DEPEND_IN,
OMP_DEPEND_OUT,
OMP_DEPEND_INOUT
-}
-gfc_omp_depend_op;
+};
-typedef enum
+enum gfc_omp_map_op
{
OMP_MAP_ALLOC,
OMP_MAP_TO,
@@ -1135,8 +1106,7 @@ typedef enum
OMP_MAP_FORCE_TOFROM,
OMP_MAP_FORCE_PRESENT,
OMP_MAP_FORCE_DEVICEPTR
-}
-gfc_omp_map_op;
+};
/* For use in OpenMP clauses in case we need extra information
(aligned clause alignment, linear clause step, etc.). */
@@ -1796,9 +1766,8 @@ gfc_array_ref;
resolution. The array_ref component may be present and comes
before the component component. */
-typedef enum
- { REF_ARRAY, REF_COMPONENT, REF_SUBSTRING }
-ref_type;
+enum ref_type
+ { REF_ARRAY, REF_COMPONENT, REF_SUBSTRING };
typedef struct gfc_ref
{
@@ -2329,7 +2298,7 @@ gfc_association_list;
/* Executable statements that fill gfc_code structures. */
-typedef enum
+enum gfc_exec_op
{
EXEC_NOP = 1, EXEC_END_NESTED_BLOCK, EXEC_END_BLOCK, EXEC_ASSIGN,
EXEC_LABEL_ASSIGN, EXEC_POINTER_ASSIGN, EXEC_CRITICAL, EXEC_ERROR_STOP,
@@ -2366,10 +2335,9 @@ typedef enum
EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
EXEC_OMP_TARGET_UPDATE
-}
-gfc_exec_op;
+};
-typedef enum
+enum gfc_omp_atomic_op
{
GFC_OMP_ATOMIC_UPDATE = 0,
GFC_OMP_ATOMIC_READ = 1,
@@ -2378,8 +2346,7 @@ typedef enum
GFC_OMP_ATOMIC_MASK = 3,
GFC_OMP_ATOMIC_SEQ_CST = 4,
GFC_OMP_ATOMIC_SWAP = 8
-}
-gfc_omp_atomic_op;
+};
typedef struct gfc_code
{
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 436c09a..cff2b68 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -106,7 +106,7 @@ static gfc_dt *current_dt;
/**************** Fortran 95 FORMAT parser *****************/
/* FORMAT tokens returned by format_lex(). */
-typedef enum
+enum format_token
{
FMT_NONE, FMT_UNKNOWN, FMT_SIGNED_INT, FMT_ZERO, FMT_POSINT, FMT_PERIOD,
FMT_COMMA, FMT_COLON, FMT_SLASH, FMT_DOLLAR, FMT_LPAREN,
@@ -114,8 +114,7 @@ typedef enum
FMT_E, FMT_EN, FMT_ES, FMT_G, FMT_L, FMT_A, FMT_D, FMT_H, FMT_END,
FMT_ERROR, FMT_DC, FMT_DP, FMT_T, FMT_TR, FMT_TL, FMT_STAR, FMT_RC,
FMT_RD, FMT_RN, FMT_RP, FMT_RU, FMT_RZ
-}
-format_token;
+};
/* Local variables for checking format strings. The saved_token is
used to back up by a single format token during the parsing
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 86dca1c..621ef36 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -1117,11 +1117,10 @@ gzopen_intrinsic_module (const char* name)
}
-typedef enum
+enum atom_type
{
ATOM_NAME, ATOM_LPAREN, ATOM_RPAREN, ATOM_INTEGER, ATOM_STRING
-}
-atom_type;
+};
static atom_type last_atom;
@@ -1971,7 +1970,7 @@ mio_internal_string (char *string)
}
-typedef enum
+enum ab_attribute
{ AB_ALLOCATABLE, AB_DIMENSION, AB_EXTERNAL, AB_INTRINSIC, AB_OPTIONAL,
AB_POINTER, AB_TARGET, AB_DUMMY, AB_RESULT, AB_DATA,
AB_IN_NAMELIST, AB_IN_COMMON, AB_FUNCTION, AB_SUBROUTINE, AB_SEQUENCE,
@@ -1984,8 +1983,7 @@ typedef enum
AB_COARRAY_COMP, AB_VTYPE, AB_VTAB, AB_CONTIGUOUS, AB_CLASS_POINTER,
AB_IMPLICIT_PURE, AB_ARTIFICIAL, AB_UNLIMITED_POLY, AB_OMP_DECLARE_TARGET,
AB_ARRAY_OUTER_DEPENDENCY, AB_MODULE_PROCEDURE
-}
-ab_attribute;
+};
static const mstring attr_bits[] =
{
diff --git a/gcc/fortran/parse.h b/gcc/fortran/parse.h
index dcac98a..bcd714d 100644
--- a/gcc/fortran/parse.h
+++ b/gcc/fortran/parse.h
@@ -23,15 +23,14 @@ along with GCC; see the file COPYING3. If not see
#define GFC_PARSE_H
/* Enum for what the compiler is currently doing. */
-typedef enum
+enum gfc_compile_state
{
COMP_NONE, COMP_PROGRAM, COMP_MODULE, COMP_SUBMODULE, COMP_SUBROUTINE,
COMP_FUNCTION, COMP_BLOCK_DATA, COMP_INTERFACE, COMP_DERIVED,
COMP_DERIVED_CONTAINS, COMP_BLOCK, COMP_ASSOCIATE, COMP_IF,
COMP_DO, COMP_SELECT, COMP_FORALL, COMP_WHERE, COMP_CONTAINS, COMP_ENUM,
COMP_SELECT_TYPE, COMP_OMP_STRUCTURED_BLOCK, COMP_CRITICAL, COMP_DO_CONCURRENT
-}
-gfc_compile_state;
+};
/* Stack element for the current compilation state. These structures
are allocated as automatic variables. */
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 641a3bd..a304158 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -33,11 +33,10 @@ along with GCC; see the file COPYING3. If not see
/* Types used in equivalence statements. */
-typedef enum seq_type
+enum seq_type
{
SEQ_NONDEFAULT, SEQ_NUMERIC, SEQ_CHARACTER, SEQ_MIXED
-}
-seq_type;
+};
/* Stack to keep track of the nesting of blocks as we move through the
code. See resolve_branch() and gfc_resolve_code(). */
@@ -1438,9 +1437,8 @@ specific_sym (gfc_symbol *sym)
/* Figure out if the procedure is specific, generic or unknown. */
-typedef enum
-{ PTYPE_GENERIC = 1, PTYPE_SPECIFIC, PTYPE_UNKNOWN }
-proc_type;
+enum proc_type
+{ PTYPE_GENERIC = 1, PTYPE_SPECIFIC, PTYPE_UNKNOWN };
static proc_type
procedure_kind (gfc_symbol *sym)
@@ -3850,9 +3848,8 @@ bad_op:
/************** Array resolution subroutines **************/
-typedef enum
-{ CMP_LT, CMP_EQ, CMP_GT, CMP_UNKNOWN }
-compare_result;
+enum compare_result
+{ CMP_LT, CMP_EQ, CMP_GT, CMP_UNKNOWN };
/* Compare two integer expressions. */
diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index a08c912..c1ea554 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -44,12 +44,12 @@ extern GTY(()) tree gfc_charlen_type_node;
and __float128. */
extern bool gfc_real16_is_float128;
-typedef enum {
+enum gfc_packed {
PACKED_NO = 0,
PACKED_PARTIAL,
PACKED_FULL,
PACKED_STATIC
-} gfc_packed;
+};
/* be-function.c */
void gfc_convert_function_code (gfc_namespace *);
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 6a9ba60..541640d 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -107,15 +107,14 @@ gfc_se;
/* Denotes different types of coarray.
Please keep in sync with libgfortran/caf/libcaf.h. */
-typedef enum
+enum gfc_coarray_type
{
GFC_CAF_COARRAY_STATIC,
GFC_CAF_COARRAY_ALLOC,
GFC_CAF_LOCK_STATIC,
GFC_CAF_LOCK_ALLOC,
GFC_CAF_CRITICAL
-}
-gfc_coarray_type;
+};
/* The array-specific scalarization information. The array members of
@@ -148,7 +147,7 @@ typedef struct gfc_array_info
}
gfc_array_info;
-typedef enum
+enum gfc_ss_type
{
/* A scalar value. This will be evaluated before entering the
scalarization loop. */
@@ -190,8 +189,7 @@ typedef enum
/* A component of a derived type. */
GFC_SS_COMPONENT
-}
-gfc_ss_type;
+};
typedef struct gfc_ss_info