Re: [PATCH 1/4] environ-selftests: Ignore -Wself-move warning

Sergio Durigan Junior
2017-06-21T21:12:03Z

On Wednesday, June 21 2017, Simon Marchi wrote:

>>> gdb/ChangeLog:
>>>
>>> * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
>>> warning.
>>> ---
>>> gdb/unittests/environ-selftests.c | 9 +++++++++
>>> 1 file changed, 9 insertions(+)
>>>
>>> diff --git a/gdb/unittests/environ-selftests.c
>>> b/gdb/unittests/environ-selftests.c
>>> index ecc3955..6989c5e 100644
>>> --- a/gdb/unittests/environ-selftests.c
>>> +++ b/gdb/unittests/environ-selftests.c
>>> @@ -136,7 +136,16 @@ run_tests ()
>>> env.clear ();
>>> env.set ("A", "1");
>>> SELF_CHECK (strcmp (env.get ("A"), "1") == 0);
>>> +
>>> +#ifdef __clang__
>>> +#pragma clang diagnostic push
>>> +#pragma clang diagnostic ignored "-Wself-move"
>>> +#endif /* __clang__ */
>>> env = std::move (env);
>>> +#ifdef __clang__
>>> +#pragma clang diagnostic pop
>>> +#endif /* __clang__ */
>>
>> Wow. I know we've discussed this before, but this is ugly :-/.
>> Anyway,
>> this file is just a unittest, so I'm totally fine with this.
>
> Yeah, I didn't expect to have to put the #ifdefs for __clang__ though.
> Without them, gcc emits a warning [-Wunknown-pragma]. We always have
> the option to turn -Wunknown-pragma off globally, what do you prefer?

I'd prefer to leave the ifdef. It's just a small part in the
"ugliness".

--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible