diff mbox series

[Ada] Avoid unnecessary call in preanalysis without freezing

Message ID 20210709123746.GA3875462@adacore.com
State New
Headers show
Series [Ada] Avoid unnecessary call in preanalysis without freezing | expand

Commit Message

Pierre-Marie de Rodat July 9, 2021, 12:37 p.m. UTC
Cleanup related to preanalysis in GNATprove mode; behaviour is
unaffected.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* sem_res.adb (Preanalyze_And_Resolve): Only call
	Set_Must_Not_Freeze when it is necessary to restore the previous
	value.
diff mbox series

Patch

diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -1886,9 +1886,9 @@  package body Sem_Res is
 
       Expander_Mode_Restore;
       Full_Analysis := Save_Full_Analysis;
-      Set_Must_Not_Freeze (N, Save_Must_Not_Freeze);
 
       if not With_Freezing then
+         Set_Must_Not_Freeze (N, Save_Must_Not_Freeze);
          Inside_Preanalysis_Without_Freezing :=
            Inside_Preanalysis_Without_Freezing - 1;
       end if;