[LTP] [PATCH] config: Explicitly set gnu99

Richard Palethorpe rpalethorpe@suse.de
Mon Nov 21 16:14:21 CET 2022


Hello,

Cyril Hrubis <chrubis@suse.cz> writes:

> Hi!
>> Use the GNU variant of the C99 language to stop GCC 4.8.5 defaulting
>> to C90.
>> 
>> We can't use C99 because LTP is far from compliant.
>
> I woder if this would work with different compilers. I suppose clang
> does work, but what about icc?

Clang is fine. I doubt that icc compiles LTP at present unless it does
support GNU extensions.

>
> I supose that we get tons of 'can't do pointer arithmetics on void*
> pointers and stuff' with plain c99. Maybe it would be better to clean
> these out instead.

https://github.com/richiejp/ltp/actions/runs/3515165803/jobs/5890081736

Some of this is solved by -D_XOPEN_SOURCE=700 or some other macro (we
need multiple). However it doesn't end there:

 make STDCFLAGS='-std=c2x -D_XOPEN_SOURCE=700'
make -C "lib" \
	-f "/home/rich/qa/ltp/lib/Makefile" all
make[1]: Entering directory '/home/rich/qa/ltp/lib'
In file included from ../include/old/test.h:37,
                 from get_path.c:41:
get_path.c: In function ‘tst_get_path’:
../include/tst_minmax.h:10:9: warning: implicit declaration of function ‘typeof’ [-Wimplicit-function-declaration]
   10 |         typeof(a) _a = (a); \
      |         ^~~~~~

We probably also use 'x ?: y' and stuff like that.

So this opens up a rats nest basically.

-- 
Thank you,
Richard.


More information about the ltp mailing list