From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24424 invoked by alias); 18 Oct 2010 19:17:35 -0000 Received: (qmail 24386 invoked by uid 22791); 18 Oct 2010 19:17:34 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,MISSING_MID X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 18 Oct 2010 19:17:25 +0000 From: "kevin.waugh at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/46073] __builtin_choose_expr outputs warnings for unused expression X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Keywords: X-Bugzilla-Severity: minor X-Bugzilla-Who: kevin.waugh at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Mon, 18 Oct 2010 19:17:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-10/txt/msg01517.txt.bz2 Message-ID: <20101018191700.Xe3iX-imy43QqZMCRmBY5n5wP_Ffwj46M_OkhNbiU30@z> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46073 --- Comment #2 from kevin.waugh at gmail dot com 2010-10-18 19:17:17 UTC --- (In reply to comment #1) > I think this is correct as __builtin_choose_expr still does semantically > checking on the two arguments. Not to mention __builtin_choose_expr was added > only to support Altivec intrinsics and that has since been moved away from > that. >>From the documentation: Note: This construct is only available for C. Furthermore, the unused expression (exp1 or exp2 depending on the value of const_exp) may still generate syntax errors. This may change in future revisions. What are the chances of getting this changed, or having an option to suppress warnings on the unevaluated argument? The implementation of tgmath.h is essentially using __builtin_choose_expr for the same purpose, but it appers to avoid any warnings/errors because of implicit casts.