On Tue, Nov 11, 2014 at 12:13:32PM +0100, Marc Glisse wrote:
> On Tue, 11 Nov 2014, Marek Polacek wrote:
>
> >>@@ -7506,12 +7509,19 @@
> >> /* 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 %s has size 0 in C, 1 in C++",
> >>+ (struct_parse_info->code == RECORD_TYPE) ? "struct" :
> >>"union");
> >>+ }
> >>+
> >
> >I think this won't work well wrt translations, so you need to have
> >an if here. See the pedwarns at the beginning of finish_struct.
>
> Do keywords like struct/union really require translation?
C keywords don't require translation, but you always need to have
complete sentences in diagnostics so I better pointed it out. Joseph
would know better than me though.
Marek