Re: C99 requirement in Gluster ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le lundi 20 février 2017 à 06:33 -0500, Kaleb Keithley a écrit :
> 
> ----- Original Message -----
> > From: "Michael Scherer" <mscherer@xxxxxxxxxx>
> > 
> > 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?

In configure. We can just verify that the compiler is able to compile
C99, and there, we can declare that we are able to use C99 since
supported natively by compiler.


> 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.

Sure, but so, what is the minimal C standard we should support, and
then, how do we know we do not requires a newer standard ?

If it was C11, I can see why it would be problematic, but C99 should be
rather straight forward.
-- 
Michael Scherer
Sysadmin, Community Infrastructure and Platform, OSAS


Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux