From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by sourceware.org (Postfix) with ESMTPS id 6867538515DD for ; Mon, 12 Sep 2022 08:19:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6867538515DD Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-wm1-x32a.google.com with SMTP id l8so1214682wmi.2 for ; Mon, 12 Sep 2022 01:19:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date; bh=hNKyTsNBKdJEjcYh5q0a3ieEIEcS8acPZKPhxYPx4Dc=; b=NOTJ0LlF79bBvUT7+b95jMgzOkkrFo2zhpgBSoPONpFKysBm24VygTEHOSrV30LTyx d8YiqO1nwSvr+DCvLsG0227lCryS89sGn0T9m6+szOyLXOZTnG1uczEv1YRhDZa8onGg d4Czgo4m8Xy6h756naXv2fgb8MLnw5Xce6ieCzCWqeLW2iLXmInu9FjxJlYh6FtEE95j L4ixTvPdkLPKJAS1anH5uD4ojwwRnCe2+ll/fEjuEs79ScCRF8vehO/p9rOE8W6D2wbX aQxol2tR1sktjfyZWeg5IgDv2nUoB8ddV8pk5g8Z5jxaSPTwku3qDBpHSFeaoA+ZAuJG KW+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date; bh=hNKyTsNBKdJEjcYh5q0a3ieEIEcS8acPZKPhxYPx4Dc=; b=pWkChOZpdFOZcuWgJMhRzRqHwDoRkGe8Rs+OpLn6foCOkJw3EBvvh6CZ0YnOTWPbwJ CIUXNJKC7iwCVnjEwX8vXsG3ejg+nzARGkITMbbz3VJQ8J6oege/QXJxqHegzfCea3SZ yoN6LbtClX6tZ38RE4f+EupopOGc4OM5Mej5IJNWh4z1LwxJoCeuuJ1XMf+okHNODAKY pCU+BjJVbFoGWyo0rW/jZ/2kwZo+cGO6gKfpze34a/sQxfuSJ99xz/MBUEu+C0Dxhr+2 HIQN+1nCr5BT9Tfra3iV5Cu1xhJeQZukr1t4xmT0Zpl8Vo82x7qjxmfUvAbV8k6lw4jw qlvg== X-Gm-Message-State: ACgBeo0qGh2mOFXqeUEBgIAjr4yPWG0CSglu2xhTrlVpfIZH8TTzjOG5 Ch8oyIBLOuWro9s3gjxZjtOixvlcOZVCBQ== X-Google-Smtp-Source: AA6agR6frhP/a+pFDBg5ESbyYKW/BenTqMDimVANiX2Gx5jz7Q8gUn7IlS66n4w/lVMjobjryv0Kmw== X-Received: by 2002:a05:600c:502b:b0:3a5:d36a:8b93 with SMTP id n43-20020a05600c502b00b003a5d36a8b93mr12967034wmr.180.1662970767859; Mon, 12 Sep 2022 01:19:27 -0700 (PDT) Received: from poulhies-Precision-5550 (lmontsouris-659-1-24-67.w81-250.abo.wanadoo.fr. [81.250.175.67]) by smtp.gmail.com with ESMTPSA id c192-20020a1c35c9000000b003b33943ce5esm8977497wma.32.2022.09.12.01.19.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Sep 2022 01:19:27 -0700 (PDT) Date: Mon, 12 Sep 2022 10:19:26 +0200 From: Marc =?iso-8859-1?Q?Poulhi=E8s?= To: gcc-patches@gcc.gnu.org Cc: Justin Squirek Subject: [Ada] Tech debt: Expansion of contracts Message-ID: <20220912081926.GA1512935@poulhies-Precision-5550> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="pf9I7BMVVzbSWLtt" Content-Disposition: inline X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --pf9I7BMVVzbSWLtt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline This patch modifies the expansion of contracts such that the statements and declarations of a subprogram with post-execution checks get moved to a local internally generated subprogram which the original subprogram calls directly followed by the required post-execution checks. This differs from the current implementation which requires delicate machinary which coordinates with the finalization process to emulate the desired behavior within the "at end" procedure. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * contracts.adb, contracts.ads (Analyze_Pragmas_In_Declarations): Added to aid in the new expansion model so that pragmas relating to contracts can get processed early before the rest of the subprogram containing them. (Build_Subprogram_Contract_Wrapper): Created to do the majority of expansion for postconditions. It builds a local wrapper with the statements and declarations within a given subprogram. (Is_Prologue_Renaming): Moved out from Process_Preconditions to be used generally within the contracts package. (Build_Entry_Contract_Wrapper): Moved from exp_ch7. (Expand_Subprogram_Contract): Add new local variable Decls to store expanded declarations needed for evaluation of contracts. Call new wrapper building procedure and modify comments to match new expansion model. (Get_Postcond_Enabled): Deleted. (Get_Result_Object_For_Postcond): Deleted. (Get_Return_Success_For_Postcond): Deleted. (Process_Contract_Cases): Add new parameter to store declarations. (Process_Postconditions): Add new parameter to store declarations. (Process_Preconditions): Add new parameter to store declarations. Add code to move entry-call prologue renamings * einfo.ads: Document new field Wrapped_Statements and modify comment for Postconditions_Proc. * exp_attr.adb (Analyze_Attribute): Modify expansion of the 'Old attribute to recognize new expansion model and use Wrapped_Statements instead of Postconditions_Proc. * exp_ch6.adb (Add_Return): Remove special expansion for postconditions. (Expand_Call): Modify condition checking for calls to access subprogram wrappers to handle new expansion models. (Expand_Call_Helper): Remove special expansion for postconditions. (Expand_Non_Function_Return): Remove special expansion for postconditions. (Expand_Simple_Function_Return): Remove special expansion for postconditions. * exp_ch7.adb (Build_Finalizer): Deleted, but replaced by code in Build_Finalizer_Helper (Build_Finalizer_Helper): Renamed to Build_Finalizer, and special handling of 'Old objects removed. * exp_ch9.adb (Build_Contract_Wrapper): Renamed and moved to contracts package. * exp_prag.adb (Expand_Pragma_Contract_Cases): Delay analysis of contracts since they now instead get analyzed as part of the wrapper generation instead of after analysis of their corresponding subprogram's body. (Expand_Pragma_Check): Label expanded if-statements which come from the expansion of assertion statements as Comes_From_Check_Or_Contract. * freeze.adb (Freeze_Entity): Add special case to avoid freezing when a freeze node gets generated as part of the expansion of a postcondition check. * gen_il-gen-gen_nodes.adb: Add new flag Comes_From_Check_Or_Contract. * gen_il-fields.ads: Add new field Wrapped_Statements. Add new flag Comes_From_Check_Or_Contract. * gen_il-gen-gen_entities.adb: Add new field Wrapped_Statements. * ghost.adb (Is_OK_Declaration): Replace Name_uPostconditions with Name_uWrapped_Statements. (Is_OK_Statement): Simplify condition due to the loss of Original_Node as a result of the new expansion model of contracts and use new flag Comes_From_Check_Or_Contract in its place. * inline.adb (Declare_Postconditions_Result): Replace Name_uPostconditions with Name_uWrapped_Statements. (Expand_Inlined_Call): Replace Name_uPostconditions with Name_uWrapped_Statements. * lib.adb, lib.ads (ipu): Created to aid in debugging. * lib-xref.adb (Generate_References): Remove special handling for postcondition procedures. * sem_attr.adb (Analyze_Attribute_Old_Result): Add new context in which 'Old can appear due to the changes in expansion. Replace Name_uPostconditions with Name_uWrapped_Statements. (Result): Replace Name_uPostconditions with Name_uWrapped_Statements. * sem_ch11.adb (Analyze_Handled_Statements): Remove check to exclude warnings on useless assignments within postcondition procedures since postconditions no longer get isolated into separate subprograms. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Modify expansion of generic subprogram bodies so that contracts (and their associated pragmas) get analyzed first. (Analyze_Subprogram_Body_Helper): Remove global HSS variable due to the HSS of the body potentially changing during the expansion of contracts. In cases where it was used instead directly call Handled_Statement_Sequence. Modify expansion of subprogram bodies so that contracts (and their associated pragmas) get analyzed first. (Check_Missing_Return): Create local HSS variable instead of using a global one. (Move_Pragmas): Use new pragma table instead of an explicit list. * sem_elab.adb (Is_Postconditions_Proc): Deleted since the new scheme of expansion no longer divides postcondition checks to a separate subprogram and so cannot be easily identified (similar to pre-condition checks). (Info_Call): Remove info printing for _Postconditions subprograms. (Is_Assertion_Pragma_Target): Remove check for postconditions procedure (Is_Bridge_Target): Remove check for postconditions procedure. (Get_Invocation_Attributes): Remove unneeded local variables and check for postconditions procedure. (Output_Call): Remove info printing for _Postconditions subprograms. * sem_prag.adb, sem_prag.ads: Add new Pragma table for pragmas significant to subprograms, along with tech-debt comment. (Check_Arg_Is_Local_Name): Modified to recognize the new _Wrapped_Statements internal subprogram and the new expansion model. (Relocate_Pragmas_To_Body): Replace Name_uPostconditions with Name_uWrapped_Statements. * sem_res.adb (Resolve_Entry_Call): Add conditional to detect both contract based wrappers of entries, but also wrappers generated as part of general contract expansion (e.g. local postconditions subprograms). * sem_util.adb (Accessibility_Level): Verify 'Access is not taken based on a component of a function result. (Has_Significant_Contracts): Replace Name_uPostconditions with Name_uWrapped_Statements. (Same_Or_Aliased_Subprogram): Add conditional to detect and obtain the original subprogram based on the new concept of "postcondition" wrappers. * sinfo.ads: Add documentation for new flag Comes_From_Check_Or_Contract. * snames.ads-tmpl: Remove Name_uPostconditions and add Name_uWrapped_Statements --pf9I7BMVVzbSWLtt Content-Type: application/gzip Content-Disposition: attachment; filename="patch.diff.gz" Content-Transfer-Encoding: base64 H4sICNhaG2MAA3BhdGNoLTAxMy5kaWZmAO29aXMcx7Eo+l2/osLxbhC4GEDYF8K0L01BMsIU yCAo69xQKCYaMw2gDwfTONM9BOHwj3+VS1Vlbd09AOWj93wmggQwXZ21ZWXlntPq+lptbt5U rSq+vZlMvi2mxbeTet4uiknbbBXTK3WV/v6bzc3N3DvfbGxsZN/7P/9HbR4ejw7Vhv5/50Tp v++LyafiplRX9fRRvTGtVdV8o/Rnc5N/wP/vi0U7fnf9jfpmQ/91v6gn5XS5KNVfltVsOr5c XumvbhbF3diAGf+8KO7vywW2V2rtL7qP8flUvVRn87Zq4fdTfqYu2zvdrdLP3lZNK598V05m 6ScfymY5a5WEt04PYcA/lPNyUbSlKtQDjUNd1wv91031uZyrxo6X5v5wq79sb0tVfrkv5k1V z1V9bYHd102r13JatfpBoxblfy0rPXW9d1eP6q7+XM1v9B+NmurBFrpXbFXMp6pp9RDuynnb WFjVvK31MGb1pJjNHvmVcipHxCunV9W+vvXNhoXwXo4Gu7lflO6LyW05+dTAZObqpmx1h025 aHUP1Vzdz4pJKWcGU64X1U01L2ZitAjVn82s1pN8qNpbPXgYumprCyUzYOUhyhsY1/jNrGga wBEa7Te0l2vwhRKfl+qinpa43fwNYJjfQqARoPYRovbJzmhnewhqK3U+V5fvX3/42/hH3dVI T1mv0G25qGCt6vuSZq5XqNBr2Kh53ar6c7lYVNOpXtmrZatuCwfMvXpXT6vrSv8iMEZv0LcB EmmQ1WxW3hSzLT5T18v5BLs8b8bvF/WsvlmW4w/lvLgD/FqDk+DWZV1jYbtczNVf6npWFnOH +d+VbbnQr5SA1Hp/NdIvrio9/cWj3FI8WfoLPa9Sb68Gxx0J7CjUtGomi0p/X8z19BewnW1J o9RznE3VuL76T/1Fbrs/Pt6X43eL8TtsNT77osemUQ3mp1e4rcrGYIBoGVCJ9VO7yu/LhT7F d4TjNFh9Ygkm9M0w9a/FzV3R2M2b1Hd3sJe1Rof2FtFl/xjx5WD7YLR/0I8w+lNqFJ3V9T0N B/56rbt9/EdpSV5zylu5OeRjltlAeU+DHp/Px9/Jo2dbDoIZkOc+4CmyvA6TZir7ZrlYjH3U O+VOrkpNNkw72J0f9fnQS76olze3SFlgKV9EZBEGBHsHRMRs1MNtNbmVsICeFBp1WwTU1vew 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 Ags8Di5wHgIA --pf9I7BMVVzbSWLtt--