From 0e77949e878dd109ee7daffcda12faa1a8000d29 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 7 Jul 2016 15:05:08 +0200 Subject: [multiple changes] 2016-07-07 Ed Schonberg * sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include overridden operation as parameter, in order to map formals of the overridden and overring operation properly prior to rewriting the inherited condition. * freeze.adb (Check_Inherited_Cnonditions): Change call to Build_Class_Wide_Expression accordingly. In Spark_Mode, add call to analyze the contract of the parent operation, prior to mapping formals between operations. 2016-07-07 Arnaud Charlet * adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches as done in back_end.adb. (Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer needed, and prevents proper handling of multi-unit sources. 2016-07-07 Thomas Quinot * g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream type with Write primitive calling Update on the underlying context (and dummy Read primitive raising P_E). 2016-07-07 Thomas Quinot * sem_ch13.adb: Minor reformatting. From-SVN: r238111 --- gcc/ada/sem_prag.ads | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/ada/sem_prag.ads') diff --git a/gcc/ada/sem_prag.ads b/gcc/ada/sem_prag.ads index 9a951ff..16ff72d 100644 --- a/gcc/ada/sem_prag.ads +++ b/gcc/ada/sem_prag.ads @@ -247,10 +247,12 @@ package Sem_Prag is procedure Build_Classwide_Expression (Prag : Node_Id; Subp : Entity_Id; + Par_Subp : Entity_Id; Adjust_Sloc : Boolean); -- Build the expression for an inherited classwide condition. Prag is -- the pragma constructed from the corresponding aspect of the parent - -- subprogram, and Subp is the overridding operation. Adjust_Sloc is True + -- subprogram, and Subp is the overridding operation and Par_Subp is + -- the overridden operation that has the condition. Adjust_Sloc is True -- when the sloc of nodes traversed should be adjusted for the inherited -- pragma. The routine is also called to check whether an inherited -- operation that is not overridden but has inherited conditions need -- cgit v1.1