syntax error in source3/locking/brlock.c

Christof Schmitt cs at samba.org
Fri Mar 6 13:35:31 MST 2015


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

Christof


More information about the samba-technical mailing list