[PATCH libevdev 3/3] test: add a build test for -pedantic
Peter Hutterer
peter.hutterer at who-t.net
Fri Nov 22 00:11:25 PST 2013
On 22/11/13 18:05 , David Herrmann wrote:
> Hi
>
> On Fri, Nov 22, 2013 at 9:01 AM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
>> 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.
>
> Ok, that makes sense. I somehow overlooked that explanation in the commit-msg ;)
oops.
I'll add it before pushing. Completely forgot about it when I wrote the
commit message and apparently not everyone is in the same mental context :)
Cheers,
Peter
More information about the Input-tools
mailing list