package pak1 is type T1 is abstract tagged null record; procedure p1(X : T1) is abstract; pragma Import (Ada, p1); --ERROR: can't complete an abstract subprogram end pak1;
B.1(22) says that an Import pragma must be the completion of a declaration, and 6.1(20) says that a completion is not allowed for an abstract subprogram declaration. The compiler accepts this program. -- Summary: Illegal program not detected, ARM 6.1(20): pragma Import illegal for abstract subprograms Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ludovic at ludovic-brenta dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38333