Bug 35888 - ICE: converting a concrete type into a classwide interface
Summary: ICE: converting a concrete type into a classwide interface
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: ada (show other bugs)
Version: 4.4.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-09 15:01 UTC by Samuel Tardieu
Modified: 2009-10-06 11:50 UTC (History)
1 user (show)

See Also:
Host: i686-pc-linux-gnu
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Tardieu 2008-04-09 15:01:26 UTC
The following package spec

package B is
   type I is Interface;
   type C is new I with null record;
   function M return C;
   X : I'Class := I'Class (M);
end B;

triggers an infinite recursion in GNAT:

+===========================GNAT BUG DETECTED==============================+
| 4.4.0 20080409 (experimental) (i686-pc-linux-gnu) Storage_Error stack overflow (or erroneous memory access)|
| Error detected at b.ads:5:20                                             |
Comment 1 Samuel Tardieu 2009-10-06 11:50:17 UTC
Fixed in trunk