From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28872 invoked by alias); 22 Nov 2015 14:46:23 -0000 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 Received: (qmail 28829 invoked by uid 89); 22 Nov 2015 14:46:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 22 Nov 2015 14:46:21 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id D7F7435230FC; Sun, 22 Nov 2015 15:46:18 +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 scQ5eEPPG3_U; Sun, 22 Nov 2015 15:46:18 +0100 (CET) Received: from chelles.act-europe.fr (chelles.act-europe.fr [10.10.0.160]) by smtp.eu.adacore.com (Postfix) with ESMTP id AA86D35230F4; Sun, 22 Nov 2015 15:46:18 +0100 (CET) Received: by chelles.act-europe.fr (Postfix, from userid 525) id A62C91EA0446; Sun, 22 Nov 2015 15:46:18 +0100 (CET) Date: Sun, 22 Nov 2015 15:17:00 -0000 From: Arnaud Charlet To: Eric Botcazou Cc: Jan Hubicka , gcc-patches@gcc.gnu.org Subject: Re: Fix lto-symtab ICE during Ada LTO bootstrap Message-ID: <20151122144618.GA9645@adacore.com> References: <20151121182122.GB23225@kam.mff.cuni.cz> <1690140.OfB3ATH0FC@polaris> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1690140.OfB3ATH0FC@polaris> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2015-11/txt/msg02609.txt.bz2 > > ../../gcc/ada/s-os_lib.adb:1007:16: note: return value type > > mismatch > > function strerror (errnum : Integer) return System.Address; > > ^ > > > > ../../gcc/ada/s-os_lib.adb:1007:16: note: > > ???system__os_lib__errno_message__strerror??? was previously > > declared here > > > > Here we have function returning pointer WRT function returning integer: > > This one is on purpose and cannot be easily changed. Pointer types (or access > types as called in Ada) are avoided as much as possible in the runtime because > they drag the accessibility machinery, which is the machinery present in > the > language to eliminate dangling references and is heavy; so they are usually > imported as System.Address instead. This particular instance can probably be fixed, I'll give it a shot when I get a chance. But you're right that the general issue is that System.Address is often used as a void* Arno