syntax error in source3/locking/brlock.c

Volker Lendecke Volker.Lendecke at SerNet.DE
Fri Mar 6 13:41:19 MST 2015


On Fri, Mar 06, 2015 at 01:35:31PM -0700, Christof Schmitt wrote:
> On Fri, Mar 06, 2015 at 01:26:43PM -0500, Thomas Schulz wrote:
> > I have been building 4.2.0 on Solaris 10 using the GNU C compiler. I decided
> > to see what happens with Sun's C 5.11 SunOS_i386 compiler. It complains
> > with the following error:
> > 
> > "../source3/locking/brlock.c", line 2008: syntax error before or at: }
> > cc: acomp failed for ../source3/locking/brlock.c
> > 
> > The offending line is:
> > 
> >         *br_lck = (struct byte_range_lock) {};
> > 
> > The GNU C compiler thinks that this line is OK. Does anyone have an
> > idea what is intended here and why the Sun compiler does not like it?
> 
> Try changing this to:
> 	*br_lck = (struct byte_range_lock) { 0 };
> 
> I think that strictly speaking C, does not allow omitting the 0, but C++
> compatible compilers allow it. With -pedantic, gcc also warns about
> this:  warning: ISO C forbids empty initializer braces

Yep.

$ git grep '{}'|grep c:|wc -l
153

That would be a 153-line patch I guess. Or you can gain 153
ohloh-points with single patches :-)

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de


More information about the samba-technical mailing list