- f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
- passed_a_ptr, 0, arrayprint_recurse_level);
- if (passed_a_ptr)
+ {
+ int i, nfields = type->num_fields ();
+
+ f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
+ passed_a_ptr, 0,
+ arrayprint_recurse_level, false);
+ if (passed_a_ptr)
+ fprintf_filtered (stream, ") ");
+ fprintf_filtered (stream, "(");
+ if (nfields == 0 && TYPE_PROTOTYPED (type))
+ f_print_type (builtin_f_type (get_type_arch (type))->builtin_void,
+ "", stream, -1, 0, 0);
+ else
+ for (i = 0; i < nfields; i++)
+ {
+ if (i > 0)
+ {
+ fputs_filtered (", ", stream);
+ wrap_here (" ");
+ }
+ f_print_type (TYPE_FIELD_TYPE (type, i), "", stream, -1, 0, 0);
+ }