aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/gfortran.h2
-rw-r--r--gcc/fortran/symbol.c32
3 files changed, 8 insertions, 32 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 29f6721..2ed6de1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2004-08-19 Paul Brook <paul@codesourcery.com>
+ PR fortran/17091
+ * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
+ * symbol.c (gfc_clear_attr): Use memset.
+
+2004-08-19 Paul Brook <paul@codesourcery.com>
+
PR fortran/14976
PR fortran/16228
* data.c (assign_substring_data_value): Remove.
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 2839b4a..697f662 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -243,7 +243,7 @@ sym_intent;
/* Access types. */
typedef enum
-{ ACCESS_PUBLIC = 1, ACCESS_PRIVATE, ACCESS_UNKNOWN
+{ ACCESS_UNKNOWN = 0, ACCESS_PUBLIC, ACCESS_PRIVATE,
}
gfc_access;
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index c125865..7e24d4e 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -1010,37 +1010,7 @@ gfc_add_type (gfc_symbol * sym, gfc_typespec * ts, locus * where)
void
gfc_clear_attr (symbol_attribute * attr)
{
-
- attr->allocatable = 0;
- attr->dimension = 0;
- attr->external = 0;
- attr->intrinsic = 0;
- attr->optional = 0;
- attr->pointer = 0;
- attr->save = 0;
- attr->target = 0;
- attr->dummy = 0;
- attr->result = 0;
- attr->entry = 0;
- attr->data = 0;
- attr->use_assoc = 0;
- attr->in_namelist = 0;
-
- attr->in_common = 0;
- attr->function = 0;
- attr->subroutine = 0;
- attr->generic = 0;
- attr->implicit_type = 0;
- attr->sequence = 0;
- attr->elemental = 0;
- attr->pure = 0;
- attr->recursive = 0;
-
- attr->access = ACCESS_UNKNOWN;
- attr->intent = INTENT_UNKNOWN;
- attr->flavor = FL_UNKNOWN;
- attr->proc = PROC_UNKNOWN;
- attr->if_source = IFSRC_UNKNOWN;
+ memset (attr, 0, sizeof(symbol_attribute));
}