diff options
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r-- | gcc/ada/freeze.adb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index 68f400d..67f203d 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -1953,8 +1953,8 @@ package body Freeze is ----------------------------- function Freeze_Generic_Entities (Pack : Entity_Id) return List_Id is - E : Entity_Id; - F : Node_Id; + E : Entity_Id; + F : Node_Id; Flist : List_Id; begin @@ -2793,6 +2793,12 @@ package body Freeze is then return No_List; + -- Generic types need no freeze node and have no delayed semantic + -- checks. + + elsif Is_Generic_Type (E) then + return No_List; + -- Do not freeze a global entity within an inner scope created during -- expansion. A call to subprogram E within some internal procedure -- (a stream attribute for example) might require freezing E, but the |