else if (!COMPLETE_TYPE_P (type)) { error_at (DECL_SOURCE_LOCATION (decl), "%q#D has incomplete type", decl); TREE_TYPE (decl) = error_mark_node; return NULL_TREE; }
thus we get a duplicate diagnostic about incompleteness and the type is turned into error_mark_node anyway ;)
Paolo.