aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2005-01-11 20:15:12 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2005-01-11 12:15:12 -0800
commit85962ac8155f3b7ce94d02adbb0e390884c39fca (patch)
tree6c1d7dcd72622d95a73d39f6d40bbf0af76a1efc
parent59437d616d40b50faad9b66fc75fee5dbf020f5a (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c5
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)