[Gluster-devel] C99 requirement in Gluster ?

Kaleb Keithley kkeithle at redhat.com
Mon Feb 20 11:33:24 UTC 2017



----- Original Message -----
> From: "Michael Scherer" <mscherer at redhat.com>
> 
> so I was reading coverty scan reports (as Nigel tricked me into looking
> them), and one of the first is this:
> https://download.gluster.org/pub/gluster/glusterfs/static-analysis/master/glusterfs-coverity/2017-02-07-3c86d946/html/1/8rpc-transport.c.html#error
> 
> at first, i was wondering why/what is the issue.
> 
> But, after searching, int8_t is a C99 type, which is signed when
> compiled on C99 compiler, and likely unsigned when compiled using a non
> C99 compiler (as I see in ./contrib/argp-standalone/acinclude.m4 , it
> will be defined to "char" on non c99 platform, which also make no
> garantee on being signed or unsigned, according to
> https://stackoverflow.com/questions/4337217/difference-between-signed-unsigned-char
> ).
> 
> So, to fix that, should we force to use c99, or update argp-standalone ?

argp-standalone is contrib. Are there newer sources available somewhere?

> 
> (and if we do requires c99 already, how come coverty do not use it ?)
>  

(For Community Gluster) 

I'm not aware of any "official" policy to require C99. And how would we enforce it in a community project?

What we use depends on the platform. For "official" builds we have 3 Fedora platforms, 3 CentOS platforms, 2 or 3 Debian platforms, Ubuntu 4-5 platforms, SuSE 2 or 3 platforms, plus NetBSD (still gcc?) and FreeBSD (clang).  We also compile with clang on Linux (and probably nobody ever looks at the results.)  And then there's whatever the individual developers are developing on, but that's probably one of the above.

On top of that the various packaging building configs on those platforms add more options.

--

Kaleb






More information about the Gluster-devel mailing list