diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c10fefa4dcc..0cbe799f69f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-01-11 Andrew Pinski + + PR target/18761 + * config/rs6000/rs6000.c (rs6000_special_round_type_align): + Skip all DECLs except for FIELD_DECLs. + 2005-01-11 Andreas Krebbel * config/s390/s390.c (override_options): Return error if diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index baf4a8e7368..48aff296d7b 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3044,9 +3044,8 @@ rs6000_special_round_type_align (tree type, int computed, int specified) { tree field = TYPE_FIELDS (type); - /* Skip all the static variables only if ABI is greater than - 1 or equal to 0. */ - while (field != NULL && TREE_CODE (field) == VAR_DECL) + /* Skip all non field decls */ + while (field != NULL && TREE_CODE (field) != FIELD_DECL) field = TREE_CHAIN (field); if (field == NULL || field == type || DECL_MODE (field) != DFmode)