Index: c-family/c-ada-spec.c =================================================================== --- c-family/c-ada-spec.c (revision 230924) +++ c-family/c-ada-spec.c (working copy) @@ -2461,7 +2461,8 @@ dump_nested_types (pretty_printer *buffe field = TYPE_FIELDS (outer); while (field) { - if ((TREE_TYPE (field) != outer + if (((TREE_TYPE (field) != outer + && TREE_TYPE (field) != error_mark_node) || (TREE_CODE (TREE_TYPE (field)) == POINTER_TYPE && TREE_TYPE (TREE_TYPE (field)) != outer)) && (!TYPE_NAME (TREE_TYPE (field)) @@ -3230,9 +3231,10 @@ print_ada_struct_decl (pretty_printer *b } } /* Avoid printing the structure recursively. */ - else if ((TREE_TYPE (tmp) != node - || (TREE_CODE (TREE_TYPE (tmp)) == POINTER_TYPE - && TREE_TYPE (TREE_TYPE (tmp)) != node)) + else if (((TREE_TYPE (tmp) != node + && TREE_TYPE (tmp) != error_mark_node) + || (TREE_CODE (TREE_TYPE (tmp)) == POINTER_TYPE + && TREE_TYPE (TREE_TYPE (tmp)) != node)) && TREE_CODE (tmp) != TYPE_DECL && !TREE_STATIC (tmp)) {