From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120862 invoked by alias); 5 Mar 2018 07:01:25 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 120821 invoked by uid 89); 5 Mar 2018 07:01:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: smtp.eu.adacore.com Received: from mel.act-europe.fr (HELO smtp.eu.adacore.com) (194.98.77.210) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 05 Mar 2018 07:01:18 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id C1E29813A0; Mon, 5 Mar 2018 08:01:16 +0100 (CET) Received: from smtp.eu.adacore.com ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6VXD6tUHM3ST; Mon, 5 Mar 2018 08:01:16 +0100 (CET) Received: from polaris.localnet (bon31-6-88-161-99-133.fbx.proxad.net [88.161.99.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.eu.adacore.com (Postfix) with ESMTPSA id 92B0681398; Mon, 5 Mar 2018 08:01:16 +0100 (CET) From: Eric Botcazou To: Segher Boessenkool Cc: gcc@gcc.gnu.org, Peter Bergner , Jeff Law , Vladimir N Makarov , Pat Haugen Subject: Re: Why does IRA force all pseudos live across a setjmp call to be spilled? Date: Mon, 05 Mar 2018 07:01:00 -0000 Message-ID: <1798327.obcmBFoBij@polaris> In-Reply-To: <20180305001631.GN21977@gate.crashing.org> References: <141cfa78-f202-029a-e530-24e657692bff@vnet.ibm.com> <3378914.kM1GF4J5QF@polaris> <20180305001631.GN21977@gate.crashing.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2018-03/txt/msg00039.txt.bz2 > C11 says in 7.13.2.1/2 > "The longjmp function restores the environment saved by the most recent > invocation of the setjmp macro in the same invocation of the program with > the corresponding jmp_buf argument." > where "environment" is not really defined, but it includes all information > a program will need to return to its caller (so it has to restore the > non-volatile registers, set stack pointers correctly, that kind of thing). Apparently the authors of the SPARC psABI thought that the last part of your sentence is an interpolation and that the (historical) requirements were vague enough to allow their interpretation, IOW that the compiler can do the work. -- Eric Botcazou