[PATCH libevdev 3/3] test: add a build test for -pedantic

Peter Hutterer peter.hutterer at who-t.net
Fri Nov 22 00:01:12 PST 2013


On 22/11/13 16:51 , David Herrmann wrote:
> Hi Peter
>
> On Fri, Nov 22, 2013 at 3:31 AM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>> ---
>>   test/.gitignore              | 1 +
>>   test/Makefile.am             | 5 ++++-
>>   test/test-compile-pedantic.c | 6 ++++++
>>   3 files changed, 11 insertions(+), 1 deletion(-)
>>   create mode 100644 test/test-compile-pedantic.c
>>
>> diff --git a/test/.gitignore b/test/.gitignore
>> index 3117f82..08a722d 100644
>> --- a/test/.gitignore
>> +++ b/test/.gitignore
>> @@ -1,2 +1,3 @@
>>   gcov-report.txt
>>   test-libevdev
>> +test-compile-pedantic
>> diff --git a/test/Makefile.am b/test/Makefile.am
>> index a232f86..8cdd370 100644
>> --- a/test/Makefile.am
>> +++ b/test/Makefile.am
>> @@ -1,5 +1,5 @@
>>   if BUILD_TESTS
>> -noinst_PROGRAMS = test-libevdev
>> +noinst_PROGRAMS = test-libevdev test-compile-pedantic
>>
>>   TESTS = $(noinst_PROGRAMS)
>>
>> @@ -33,6 +33,9 @@ test_libevdev_SOURCES = \
>>
>>   test_libevdev_LDADD =  $(CHECK_LIBS) $(GCOV_LDFLAGS)
>>
>> +test_compile_pedantic_SOURCES = test-compile-pedantic.c
>> +test_compile_pedantic_CFLAGS = $(AM_CPPFLAGS) -Wpedantic -Werror -std=c90
>
> Why not -std=c99 and drop the two earlier patches? Or does -pedantic
> not work with c99?
>
> Anyway, I dislike changing the code just to get -pedantic working with
> c89. Things like trailing semicolons make patches easier to read as no
> line needs to be changed but just added. And other stuff like
> lvalue-struct-initializers and friends will all break once we add
> this.

yep, I agree with all this :)

however, note that this is a build test so that our headers work when 
compiling against a project that uses -pedantic. it doesn't apply the 
same to libevdev itself. I think that's a good compromise, we don't 
control whether someone using libevdev uses -pedantic so we should be 
good citizens and compile fine. I agree about the trailing semicolon but 
it's a small price to pay. there's nothing in our public headers that 
should require c99.

2/3 is the only patch that changes libevdev itself but then again it 
merely stops a stray semicolon and doesn't affect any actual code, so 
it's effectively a noop anyway.

> Imho there're much more useful -W-flags than -pedantic. We should try
> using them instead (like -Wshadow, -Wmissing-prototypes, ...). But
> it's up to you. The patches look fine, so in case this is really what
> we want:
> Reviewed-by: David Herrmann <dh.herrmann at gmail.com>

Thanks!

Cheers,
   Peter

>> +
>>   if GCOV_ENABLED
>>
>>   CLEANFILES = gcov-report.txt
>> diff --git a/test/test-compile-pedantic.c b/test/test-compile-pedantic.c
>> new file mode 100644
>> index 0000000..6faea86
>> --- /dev/null
>> +++ b/test/test-compile-pedantic.c
>> @@ -0,0 +1,6 @@
>> +#include <libevdev/libevdev.h>
>> +#include <libevdev/libevdev-uinput.h>
>> +
>> +int main(void) {
>> +       return 0;
>> +}
>> --
>> 1.8.3.1
>>
>> _______________________________________________
>> Input-tools mailing list
>> Input-tools at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/input-tools



More information about the Input-tools mailing list