diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2023-02-06 14:40:26 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-22 10:44:09 +0200 |
commit | 3754477bb08f12a7866d9f422fad85bac79f2579 (patch) | |
tree | 85bd0c671ec7a5544c832e39306a77909c4bfb82 /gcc | |
parent | 86bcf5d5d369cd78ebd99989978432f8cdb73bb4 (diff) | |
download | gcc-3754477bb08f12a7866d9f422fad85bac79f2579.zip gcc-3754477bb08f12a7866d9f422fad85bac79f2579.tar.gz gcc-3754477bb08f12a7866d9f422fad85bac79f2579.tar.bz2 |
ada: Fix spurious warning on Inline_Always and contracts
Warnings about pre/postconditions being ignored with Inline_Always were
only true for the obsolete frontend inlining. With the current backend
pre/postconditions work fine with Inline_Always.
gcc/ada/
* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Only
emit warning when frontend inlining is enabled.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_prag.adb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index b6c78db..dbc8584 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -210,7 +210,7 @@ package body Sem_Prag is -- Subsidiary to the analysis of pragmas Contract_Cases, Postcondition, -- Precondition, Refined_Post, and Test_Case. Emit a warning when pragma -- Prag is associated with subprogram Spec_Id subject to Inline_Always, - -- and assertions are enabled. + -- assertions are enabled and inling is done in the frontend. procedure Check_State_And_Constituent_Use (States : Elist_Id; @@ -30304,6 +30304,7 @@ package body Sem_Prag is if Warn_On_Redundant_Constructs and then Has_Pragma_Inline_Always (Spec_Id) and then Assertions_Enabled + and then not Back_End_Inlining then Error_Msg_Name_1 := Original_Aspect_Pragma_Name (Prag); |