diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2005-01-11 20:15:12 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2005-01-11 12:15:12 -0800 |
commit | 85962ac8155f3b7ce94d02adbb0e390884c39fca (patch) | |
tree | 6c1d7dcd72622d95a73d39f6d40bbf0af76a1efc | |
parent | 59437d616d40b50faad9b66fc75fee5dbf020f5a (diff) | |
download | gcc-85962ac8155f3b7ce94d02adbb0e390884c39fca.zip gcc-85962ac8155f3b7ce94d02adbb0e390884c39fca.tar.gz gcc-85962ac8155f3b7ce94d02adbb0e390884c39fca.tar.bz2 |
re PR target/18761 (C++ ABI bug on OS X with embed types)
2005-01-11 Andrew Pinski <pinskia@physics.uc.edu>
PR target/18761
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
Skip all DECLs except for FIELD_DECLs.
From-SVN: r93193
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c10fefa..0cbe799 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-01-11 Andrew Pinski <pinskia@physics.uc.edu> + + PR target/18761 + * config/rs6000/rs6000.c (rs6000_special_round_type_align): + Skip all DECLs except for FIELD_DECLs. + 2005-01-11 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.c (override_options): Return error if diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index baf4a8e..48aff29 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) |