On Tue, Nov 11, 2014 at 03:24:48AM +0530, Prathamesh Kulkarni wrote:
> * gcc/c/c-decl.c
>   (warn_cxx_compat_finish_struct): Add new parameter of type location_t.
>     Warn for empty struct.
>   (finish_struct): Pass loc to warn_cxx_compat_finish_struct.
> 
> * gcc/testsuite/gcc.dg/Wcxx-compat-22.c: New test-case.

No gcc/c/ and gcc/testsuite/ prefixes.

> Index: gcc/c/c-decl.c
> ===================================================================
> --- gcc/c/c-decl.c    (revision 217287)
> +++ gcc/c/c-decl.c    (working copy)
> @@ -7506,12 +7506,15 @@
>  /* Finish up struct info used by -Wc++-compat.  */
>  
>  static void
> -warn_cxx_compat_finish_struct (tree fieldlist)
> +warn_cxx_compat_finish_struct (tree fieldlist, location_t record_loc)
>  {
>    unsigned int ix;
>    tree x;
>    struct c_binding *b;
>  
> +  if (fieldlist == NULL_TREE)
> +    warning_at (record_loc, OPT_Wc___compat, "empty struct has size 0 in C, 
> 1 in C++");

This line is too long.

The patch doesn't seem to handle empty unions.

        Marek

Reply via email to