-/* Return the alignment (in bytes) of the given type. */
-
-static int
-nds32_type_align (struct type *type)
-{
- int n;
- int align;
- int falign;
-
- type = check_typedef (type);
- switch (TYPE_CODE (type))
- {
- default:
- /* Should never happen. */
- internal_error (__FILE__, __LINE__, _("unknown type alignment"));
- return 4;
-
- case TYPE_CODE_PTR:
- case TYPE_CODE_ENUM:
- case TYPE_CODE_INT:
- case TYPE_CODE_FLT:
- case TYPE_CODE_SET:
- case TYPE_CODE_RANGE:
- case TYPE_CODE_REF:
- case TYPE_CODE_CHAR:
- case TYPE_CODE_BOOL:
- return TYPE_LENGTH (type);
-
- case TYPE_CODE_ARRAY:
- case TYPE_CODE_COMPLEX:
- return nds32_type_align (TYPE_TARGET_TYPE (type));
-
- case TYPE_CODE_STRUCT:
- case TYPE_CODE_UNION:
- align = 1;
- for (n = 0; n < TYPE_NFIELDS (type); n++)
- {
- falign = nds32_type_align (TYPE_FIELD_TYPE (type, n));
- if (falign > align)
- align = falign;
- }
- return align;
- }
-}
-