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] Allow pragma Restrictions (No_Dependence => unit) in system.ads


This patch enables the recognition/processing of pragma Restrictions
(No_Dependence => unit) in system.ads, allowing more flexibility in
configuring specialized versions of System.

Given a system.ads that contains the line

pragma Restrictions (No_Dependence => Ada.Text_IO);

Compiling the following program gives the indicated error:

     1. with Ada.Text_IO;
             |
        >>> violation of restriction "No_Dependence =>
            Ada.Text_Io" in package System

     2. procedure SysRest is
     3. begin
     4.    Ada.Text_IO.Put_Line ("hello");
     5. end;

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

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* back_end.adb (Make_Id): New function.
	(Make_SC): New function.
	(Set_RND): New procedure.
	* back_end.ads (Make_Id): New function.
	(Make_SC): New function.
	(Set_RND): New procedure.
	* einfo.ads: Minor comment updates.
	* frontend.adb: Move Atree.Initialize call to Gnat1drv.
	* gnat1drv.adb (Gnat1drv): New calling sequence for
	Get_Target_Parameters.
	(Gnat1drv): Move Atree.Initialize here from Frontend.
	* targparm.adb (Get_Target_Parameters): New calling
	sequence (Get_Target_Parameters): Handle pragma Restriction
	(No_Dependence,..)
	* targparm.ads (Get_Target_Parameters): New calling sequence.

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]