diff options
author | Robert Dewar <dewar@adacore.com> | 2006-02-15 10:37:43 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2006-02-15 10:37:43 +0100 |
commit | 80d4224f5b0b90b4f3da875043512003342d6f01 (patch) | |
tree | 9d0234798b82bda730e6be3efd6ad0682284e35d /gcc/ada/sinfo.ads | |
parent | d8f7b976d7f6ba52d1b71770c6d03ff408294b18 (diff) | |
download | gcc-80d4224f5b0b90b4f3da875043512003342d6f01.tar.gz |
exp_attr.adb (Expand_N_Attribute_Reference, [...]): If attribute Mechanism_Code is applied to renamed subprogram...
2006-02-13 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
attribute Mechanism_Code is applied to renamed subprogram, modify
prefix to point to base subprogram.
Max/Min attributes now violate Restriction No_Implicit_Conditionals
* sinfo.ads: Document that Mechanism_Code cannot be applied to
renamed subprograms so that the front-end must replace the prefix
appropriately.
From-SVN: r111058
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r-- | gcc/ada/sinfo.ads | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index bf5edbc4e65..2712ed0c4fc 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2006, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -2975,6 +2975,10 @@ package Sinfo is -- a non-standard enumeration type or a nonzero/zero semantics -- boolean type, so the value is simply the stored representation. + -- Gigi requirement: For the Mechanism_Code attribute, if the prefix + -- references a subprogram that is a renaming, then the front end must + -- rewrite the attribute to refer directly to the renamed entity. + -- Note: In generated code, the Address and Unrestricted_Access -- attributes can be applied to any expression, and the meaning is -- to create an object containing the value (the object is in the |