From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25873 invoked by alias); 21 Jun 2017 21:05:52 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 25830 invoked by uid 89); 21 Jun 2017 21:05:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy= X-HELO: simark.ca Received: from simark.ca (HELO simark.ca) (158.69.221.121) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 21 Jun 2017 21:05:46 +0000 Received: by simark.ca (Postfix, from userid 33) id E25F91E4E8; Wed, 21 Jun 2017 17:05:44 -0400 (EDT) To: Sergio Durigan Junior Subject: Re: [PATCH 1/4] environ-selftests: Ignore -Wself-move warning X-PHP-Originating-Script: 33:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 21 Jun 2017 21:05:00 -0000 From: Simon Marchi Cc: Simon Marchi , gdb-patches@sourceware.org In-Reply-To: <87mv91ccey.fsf@sergiodj.net> References: <1498076108-29914-1-git-send-email-simon.marchi@ericsson.com> <1498076108-29914-2-git-send-email-simon.marchi@ericsson.com> <87mv91ccey.fsf@sergiodj.net> Message-ID: <884719ed975085085337b2972a9c2ac4@polymtl.ca> X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.2.5 X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg00611.txt.bz2 On 2017-06-21 22:29, Sergio Durigan Junior wrote: > On Wednesday, June 21 2017, Simon Marchi wrote: > >> clang gives this warning: >> >> /home/emaisin/src/binutils-gdb/gdb/unittests/environ-selftests.c:139:7: >> error: explicitly moving variable of type 'gdb_environ' to itself >> [-Werror,-Wself-move] >> env = std::move (env); >> ~~~ ^ ~~~ >> >> In this case, ignoring the warning locally is clearly the thing to do, >> since it warns exactly about the behavior we want to test. We also >> don't want to disable this globally, because we would want the >> compiler > > "we would want the code compiler to warn" Oops thanks. >> if we wrote that in real code. >> >> I filed a bug in GCC's bugzilla to suggest to add this warning: >> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81159 > > Thanks! > >> 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?