From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20390 invoked by alias); 24 Aug 2007 01:14:04 -0000 Received: (qmail 20269 invoked by uid 22791); 24 Aug 2007 01:13:58 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 24 Aug 2007 01:13:57 +0000 Received: (qmail 18801 invoked from network); 24 Aug 2007 01:13:55 -0000 Received: from unknown (HELO ?10.224.12.234?) (mitchell@127.0.0.2) by mail.codesourcery.com with ESMTPA; 24 Aug 2007 01:13:55 -0000 Message-ID: <46CE005B.9040306@codesourcery.com> Date: Fri, 24 Aug 2007 01:14:00 -0000 From: Mark Mitchell User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Jakub Jelinek CC: gcc-patches@gcc.gnu.org Subject: Re: [C++ PATCH] Fix ice-on-invalid calling get_unwidened (error_mark_node, ) (PR c++/32567) References: <20070821182556.GO2063@devserv.devel.redhat.com> In-Reply-To: <20070821182556.GO2063@devserv.devel.redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-08/txt/msg01602.txt.bz2 Jakub Jelinek wrote: > 2007-08-21 Jakub Jelinek > > PR c++/32567 > * typeck.c (build_unary_op) : Return > error_mark_node right away if build_expr_type_conversion > returned it. This is OK. FWIW, I'd actually do it the opposite way of what you suggested. For routines that are part of the middle-end API designed to be used by the front end, accepting error_mark_nodes as inputs means that we don't have to remember to check as many places in the front ends. By being generous in what we accept in the middle end, we'd make the compiler more robust, at the expense of doing a bit of extra checking. But, I'm happy to have the bug fixed, and it's not worth arguing about. Thanks, -- Mark Mitchell CodeSourcery mark@codesourcery.com (650) 331-3385 x713