Sorry for speaking up late, but I think we could do better with formatting in this patch:
On Sat, Jan 16, 2016 at 03:45:22PM +0530, Prathamesh Kulkarni wrote: > diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c > index 915376d..d36fc67 100644 > --- a/gcc/c/c-decl.c > +++ b/gcc/c/c-decl.c > @@ -4791,6 +4791,13 @@ finish_decl (tree decl, location_t init_loc, tree init, > TREE_TYPE (decl) = error_mark_node; > } > > + if ((RECORD_OR_UNION_TYPE_P (TREE_TYPE (decl)) > + || TREE_CODE (TREE_TYPE (decl)) == ENUMERAL_TYPE) > + && DECL_SIZE (decl) == 0 && TREE_STATIC (decl)) DECL_SIZE yields a tree, so I'd rather see NULL_TREE instead of 0 here (yeah, the enclosing code uses 0s :(). The "&& TREE_STATIC..." should be on its own line. > + { > + incomplete_record_decls.safe_push (decl); > + } > + Redundant braces. > diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c > index a0e0052..3c8a496 100644 > --- a/gcc/c/c-parser.c > +++ b/gcc/c/c-parser.c > @@ -59,6 +59,8 @@ along with GCC; see the file COPYING3. If not see > #include "gimple-expr.h" > #include "context.h" > > +vec<tree> incomplete_record_decls = vNULL; This could use a comment. > + > + for (unsigned i = 0; i < incomplete_record_decls.length (); ++i) > + { > + tree decl = incomplete_record_decls[i]; > + if (DECL_SIZE (decl) == 0 && TREE_TYPE (decl) != error_mark_node) I'd s/0/NULL_TREE/. Marek