From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56900 invoked by alias); 13 Jun 2017 17:07:29 -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 56885 invoked by uid 89); 13 Jun 2017 17:07:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=no 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; Tue, 13 Jun 2017 17:07:26 +0000 Received: by simark.ca (Postfix, from userid 33) id D31111E4E8; Tue, 13 Jun 2017 13:07:29 -0400 (EDT) To: Eli Zaretskii Subject: Re: [PATCH 0/5] Remove a few hurdles of compiling with clang 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: Tue, 13 Jun 2017 17:07:00 -0000 From: Simon Marchi Cc: Simon Marchi , qiyaoltc@gmail.com, gdb-patches@sourceware.org In-Reply-To: <83k24g3qcx.fsf@gnu.org> References: <1497124689-11842-1-git-send-email-simon.marchi@ericsson.com> <83tw3n5jyk.fsf@gnu.org> <86tw3labb0.fsf@gmail.com> <83a85d5l4n.fsf@gnu.org> <93eb64489ac9d53665a144ddf5a966d5@polymtl.ca> <83wp8h40lo.fsf@gnu.org> <8660g0dzau.fsf@gmail.com> <83k24g3qcx.fsf@gnu.org> Message-ID: X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.2.5 X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg00395.txt.bz2 On 2017-06-13 16:38, Eli Zaretskii wrote: > Let's not forget that code submitted by someone who is willing to do > the work stays in GDB even when that someone is no longer willing to > support that compiler. So there are additional factors to consider > when making this decision. Indeed. As Pedro said, we shouldn't do the same kind of efforts for $OBSCURE_COMPILER than to support a widely used one (like Clang). > >> /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:209:7: error: >> variable 'i' is incremented both in the loop header and in the loop >> body [-Werror,-Wfor-loop-analysis] >> i++; >> ^ >> /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:199:32: note: >> incremented here >> ALL_DEBUG_ADDRESS_REGISTERS (i) >> ^ > > Why is incrementing a loop variable in the body an error? It's > perfectly valid code. It's an error only because we use -Werror for development, otherwise it would be a warning. Warnings are meant to point out valid code that may not be very good, or a common mistake, or a probable source of bugs. >> I think >> that eliminating the error like this is better than adding >> -Wno-for-loop-analysis, because >> if I wrote code like this and it was actually a mistake, I would like >> the compiler to tell >> me. > > Does clang have the equivalent of "#pragma push"? If it does, we > could disable this warning only for clang and only for that code > snippet. That's indeed a solution, but I'd keep that for the cases where we can't find an elegant solution that pleases both GCC and Clang.