From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25795 invoked by alias); 16 Feb 2005 19:48:19 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 25611 invoked from network); 16 Feb 2005 19:48:10 -0000 Received: from unknown (HELO pollux.ds.pg.gda.pl) (153.19.208.7) by sourceware.org with SMTP; 16 Feb 2005 19:48:10 -0000 Received: from localhost (localhost [127.0.0.1]) by pollux.ds.pg.gda.pl (Postfix) with ESMTP id 88617F598F; Wed, 16 Feb 2005 20:48:04 +0100 (CET) Received: from pollux.ds.pg.gda.pl ([127.0.0.1]) by localhost (pollux [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 14977-04; Wed, 16 Feb 2005 20:48:04 +0100 (CET) Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8]) by pollux.ds.pg.gda.pl (Postfix) with ESMTP id 43ACDF598E; Wed, 16 Feb 2005 20:48:04 +0100 (CET) Received: from blysk.ds.pg.gda.pl (macro@blysk.ds.pg.gda.pl [153.19.208.6]) by piorun.ds.pg.gda.pl (8.13.1/8.13.1) with ESMTP id j1GJm8jD031528; Wed, 16 Feb 2005 20:48:09 +0100 Date: Thu, 17 Feb 2005 02:02:00 -0000 From: "Maciej W. Rozycki" To: Thiemo Seufer Cc: binutils@sources.redhat.com Subject: Re: [PATCH] MIPS gas: Fix macro expansions for .set noat In-Reply-To: <20050216192153.GH1757@rembrandt.csv.ica.uni-stuttgart.de> Message-ID: References: <20050216154924.GG1757@rembrandt.csv.ica.uni-stuttgart.de> <20050216192153.GH1757@rembrandt.csv.ica.uni-stuttgart.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Status: Clean X-SW-Source: 2005-02/txt/msg00380.txt.bz2 On Wed, 16 Feb 2005, Thiemo Seufer wrote: > > More comments about that change -- as I understand our policy wrt $at > > being used with ".set noat" in effect is to go for it regardless and only > > issue a warning (that can be converted to an error with --fatal-warnings). > > Therefore we shouldn't use as_bad() in this case. > > IMHO it should be an error if the result can't work at all. I don't > see a case where overwriting the base register before its use could > be the programmers intention. I do agree it's of questionable use and I proposed changing it a few years ago, but I got a response as I expressed above. Then if it's to be done, it should be done consistently for all cases -- replacing respective as_warn() calls with as_bad() ones should be the right way. Note that the Alpha port has always treated using $at with ".set noat" in effect as an error. > > Moreover, the situation > > is actually already handled in general -- see the bottom exit point from > > macro() -- so we should really only track down the failing execution path > > within that function and check whether its epilogue correctly executes a > > functional equivalent of this code: > > > > if (used_at) > > break; > > else > > return; > > This causes "used $at in .set noat" warnings. That's a rather confusing > message, given that no use of $at was specified in the source. It's actually 'Macro used $at after ".set noat"' and I think it's perfectly clear. Maciej