From patchwork Wed Dec 1 10:25:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Marie de Rodat X-Patchwork-Id: 48337 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DF2EF3858003 for ; Wed, 1 Dec 2021 10:38:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DF2EF3858003 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1638355135; bh=PJwVkk8YOYL+M8z5cPJF6x9Z152QGxNhRRMCpSEtxX8=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=csuX3+35maUnDwJnQ5Uz56PhCnphpKYYGIWbIHk5YbvVCjyWps5UQ5BQnIoi+/Sq4 6JMWe3J9Oic5ZFPlubxUbQtUNfPqkE2tbHBxSFSm+wSncou6e8SWFVN48V7kTMz0c1 9uHy+OW6cewNTNmjbwcKCDG9BqRkpnku4KBqxALM= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id 838DC385800C for ; Wed, 1 Dec 2021 10:25:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 838DC385800C Received: by mail-wr1-x434.google.com with SMTP id o13so50930221wrs.12 for ; Wed, 01 Dec 2021 02:25:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=PJwVkk8YOYL+M8z5cPJF6x9Z152QGxNhRRMCpSEtxX8=; b=tDyWX9INEwutQ4QvfioUOQEvejM3lSu6Un8qHw9uh2lES/3gGq9XBCMjstPvmH0hIH Re8GGyMwO3j0R2Sm/7t/QO1i+TnQqFrcpdGNmcYUrvGs2sQyyjkIlvKMjjNuqrZ2i0Id Stumlbje5FQnaIKJrXvyK2BlYF/lCyjNgUfBhCZQ5UYGI2oS/eOSGBUBSk/rUAB7gz4p 9v2NArHcJlyiqVQIKwDwi+JeeLmyvDlzeBK7xZQEetCXnOWU6vNT4eXNOo8LFT7hSmey m3rIKtkymKJPclCJSKz9niLI9tn/grNrldbypKIF9GzPe1Fo3EclocQWp1r4BXl6Y7hu ZXSA== X-Gm-Message-State: AOAM531Nv5p/J5D1m5CzC1ds9GRAeIhY2JMIBuHxEv6CvSnpe5zaPc7S /75WYNZqxZCbqwf3uXWcCdktb7AjPNTvRZw5 X-Google-Smtp-Source: ABdhPJym1MOQ5cy1s75S14etj7OMXV7DJOoJs/c/JSRGblmCt0Topuav0eC57p5bVy4deetw+Xyhmg== X-Received: by 2002:a5d:42cc:: with SMTP id t12mr5571670wrr.129.1638354344645; Wed, 01 Dec 2021 02:25:44 -0800 (PST) Received: from adacore.com ([45.147.211.82]) by smtp.gmail.com with ESMTPSA id a198sm1199066wme.1.2021.12.01.02.25.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Dec 2021 02:25:43 -0800 (PST) Date: Wed, 1 Dec 2021 10:25:42 +0000 To: gcc-patches@gcc.gnu.org Subject: [Ada] Spurious warning when using 'Type_Key on generic formal Message-ID: <20211201102542.GA1635301@adacore.com> MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Pierre-Marie de Rodat via Gcc-patches From: Pierre-Marie de Rodat Reply-To: Pierre-Marie de Rodat Cc: Justin Squirek Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch corrects an issue in the compiler whereby spurious compile-time warnings get raised when the attribute 'Type_Key is applied to a generic formal type. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_attr.adb (Type_Key): Avoid premature use warnings when the prefix is a generic actual. diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -6664,6 +6664,7 @@ package body Sem_Attr is if not Is_Frozen (Entity (P)) and then not Is_Generic_Type (Entity (P)) + and then not Is_Generic_Actual_Type (Entity (P)) then Error_Msg_N ("premature usage of Type_Key?", N); end if;