gdb: Handle alignment for C++ structures with static members
[deliverable/binutils-gdb.git] / gdb / gdbtypes.c
index 63dec3c8b7dea1473e402dacc204211e0ff0725f..b5f269241c4e19b7ad1c59452e16b7dd5d7a90d9 100644 (file)
@@ -3039,15 +3039,18 @@ type_align (struct type *type)
          }
        for (unsigned i = 0; i < TYPE_NFIELDS (type); ++i)
          {
-           ULONGEST f_align = type_align (TYPE_FIELD_TYPE (type, i));
-           if (f_align == 0)
+           if (!field_is_static (&TYPE_FIELD (type, i)))
              {
-               /* Don't pretend we know something we don't.  */
-               align = 0;
-               break;
+               ULONGEST f_align = type_align (TYPE_FIELD_TYPE (type, i));
+               if (f_align == 0)
+                 {
+                   /* Don't pretend we know something we don't.  */
+                   align = 0;
+                   break;
+                 }
+               if (f_align > align)
+                 align = f_align;
              }
-           if (f_align > align)
-             align = f_align;
          }
       }
       break;
This page took 0.024598 seconds and 4 git commands to generate.