re PR target/18761 (C++ ABI bug on OS X with embed types)
authorAndrew Pinski <pinskia@physics.uc.edu>
Tue, 11 Jan 2005 20:15:12 +0000 (20:15 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Tue, 11 Jan 2005 20:15:12 +0000 (12:15 -0800)
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

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index c10fefa4dcc805cfa8569c7051c764ad447a99ac..0cbe799f69fa8056d89e3843d23c2e42c658ea8f 100644 (file)
@@ -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
index baf4a8e73687e4d38088fd6172007bd2b797d6c6..48aff296d7bfbd41008466f384830a6caa59be37 100644 (file)
@@ -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)