diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-17 09:24:31 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-17 09:24:31 +0000 |
commit | 723bd33267a8f139333ce119effb718ca5d30c89 (patch) | |
tree | 3f29dc65f74494cef564daa36014a76c44be4d21 /gcc/ada/sem_attr.adb | |
parent | 2588dbe80b53154a8a7d68eb4cbda531ab36e1f4 (diff) | |
download | gcc-723bd33267a8f139333ce119effb718ca5d30c89.tar.gz |
2009-04-17 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add documentation about No_Streams restriction
* sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
attributes when checking No_Streams restriction.
2009-04-17 Thomas Quinot <quinot@adacore.com>
* rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
* exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
missing calls to RE_Request_Destroy to deallocate request objects after
use.
2009-04-17 Nicolas Setton <setton@adacore.com>
* link.c: Fix support for passing a response file under Darwin.
2009-04-17 Emmanuel Briot <briot@adacore.com>
* prj.adb (Free): new subprogram.
2009-04-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: additional initialization on incomplete subtypes.
* sem_ch6.adb (Process_Formals): if the subprogram is in the private
part and one of the formals is an incomplete tagged type, attach to
list of private dependends of the type for later validation.
* sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
primitive operations of a Taft-amendmment type.
* freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
type. The check is performed on package exit, possibly after the
subprogram is frozen.
2009-04-17 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Get_Directories): Get the object and exec directory
before looking for source directories, but make sure that there are nil
if they are not explicitely declared and there is explicitely no
sources in the project.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146227 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_attr.adb')
-rw-r--r-- | gcc/ada/sem_attr.adb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index c043c4fd89e..38f45a85059 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -1557,7 +1557,17 @@ package body Sem_Attr is -- Check restriction violations - Check_Restriction (No_Streams, P); + -- First check the No_Streams restriction, which prohibits the use + -- of explicit stream attributes in the source program. We do not + -- prevent the occurrence of stream attributes in generated code, + -- for instance those generated implicitly for dispatching purposes. + + if Comes_From_Source (N) then + Check_Restriction (No_Streams, P); + end if; + + -- Check special case of Exception_Id and Exception_Occurrence which + -- are not allowed for restriction No_Exception_Regstriation. if Is_RTE (P_Type, RE_Exception_Id) or else @@ -2061,6 +2071,7 @@ package body Sem_Attr is Rewrite (N, Make_Raise_Program_Error (Loc, Reason => PE_Address_Of_Intrinsic)); + else Error_Msg_N ("cannot take Address of intrinsic subprogram", N); |