[Ada] Allow more cases of import with Relaxed_RM_Semantics

Message ID 20210922151545.GA1907775@adacore.com
State Committed
Commit 326b74705c26a52226bc737cc94be584dd2505e1
Headers
Series [Ada] Allow more cases of import with Relaxed_RM_Semantics |

Commit Message

Pierre-Marie de Rodat Sept. 22, 2021, 3:15 p.m. UTC
  Such as importing a package as was accepted by JGNAT, for use in
analyzers such as SPARK or CodePeer.

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

gcc/ada/

	* sem_prag.adb (Process_Import_Or_Interface): Relax error when
	Relaxed_RM_Semantics.
  

Patch

diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -9532,7 +9532,11 @@  package body Sem_Prag is
 
             Process_Import_Predefined_Type;
 
-         else
+         --  Emit an error unless Relaxed_RM_Semantics since some legacy Ada
+         --  compilers may accept more cases, e.g. JGNAT allowed importing
+         --  a Java package.
+
+         elsif not Relaxed_RM_Semantics then
             if From_Aspect_Specification (N) then
                Error_Pragma_Arg
                   ("entity for aspect% must be object, subprogram "