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] Fix check for categorization unit


Tested on i686-linux, committed on trunk

This patch fixes a bug of not checking for categorization for with's
on the body of a subprogram when the spec is marked Pure/Preelaborate.
This was simply a matter of omitting a required call for the body
to Validate_Categorization_Dependency.

A test program is

procedure P;
pragma Pure (P); -- same with preelaborate

with Ada.Text_IO; -- not pure / preelaborated
procedure P is
begin
   Ada.Text_IO.Put_Line ("pure as the driven snow!");
end;

This should generate when compiled:

p.adb:2:06: cannot depend on "Text_IO" (wrong categorization)
p.adb:2:06: pure unit cannot depend on non-pure unit

2005-12-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
	for case where spec is categorized.

Attachment: difs.23
Description: Text document


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