@@ -426,24 +426,17 @@ begin
-- Cleanup processing after completing main analysis
- -- In GNATprove_Mode we do not perform most expansions but body
- -- instantiation is needed.
+ pragma Assert (Operating_Mode in Check_Semantics | Generate_Code);
- pragma Assert
- (Operating_Mode = Generate_Code
- or else Operating_Mode = Check_Semantics);
+ if Operating_Mode = Generate_Code or else GNATprove_Mode then
+
+ -- In GNATprove_Mode we do not perform most expansions but body
+ -- instantiation is needed.
- if Operating_Mode = Generate_Code
- or else GNATprove_Mode
- then
Instantiate_Bodies;
- end if;
- -- Analyze all inlined bodies, check access-before-elaboration
- -- rules, and remove ignored Ghost code when generating code or
- -- compiling for GNATprove.
+ -- Analyze inlined bodies if required
- if Operating_Mode = Generate_Code or else GNATprove_Mode then
if Inline_Processing_Required then
Analyze_Inlined_Bodies;
end if;
@@ -455,6 +448,8 @@ begin
Collect_Garbage_Entities;
end if;
+ -- Check access-before-elaboration rules
+
if Legacy_Elaboration_Checks then
Check_Elab_Calls;
end if;
From: Eric Botcazou <ebotcazou@adacore.com> This just merges two conditional blocks depending on the same condition. gcc/ada/ * frontend.adb (Frontend): Merge two conditional blocks and adjust. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/frontend.adb | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-)