.. if I disregard that comment, the incomplete type B gets through, gets to check_initializer (which is involved anyway even if there is no initializer in this case for b1) and somewhat comically gets to:

  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.

Reply via email to