This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Missing check on interface primitives


The compiler does not not verify always that all the primitives of an
interface type are abstract or null procedures. After this patch the
following test is compiled with errors:

package Pkg is
   --  Test 1
   type IA is tagged;
   function Get_myB (Self : IA) return natural;

   type IA is interface;

   --  Test 2
   type Iface is interface;
   function f1 (Obj : Iface) return Natural is (0);
end;

Command: gcc -c pkg.ads
Output:
pkg.ads:4:04: interface function "Get_Myb" must be abstract
pkg.ads:10:04: interface function "F1" must be abstract

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

2014-10-31  Javier Miranda  <miranda@adacore.com>

	* freeze.adb (Freeze_Record_Type): Add missing
	check to verify that all the primitives of an interface type
	are abstract or null procedures.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]