------- Comment #1 from ludovic at ludovic-brenta dot org 2009-08-01 14:59
-------
I now think my analysis was wrong; a1 is not a discriminant, so the program is
actually legal and the value of x1 should be:
x1 = (a1 => (b => False))
(this does not change anything to the GCC bug, actually.)
--
ludovic at ludovic-brenta dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|ICE in illegal program, |ICE in legal program,
|Assert_Failure |Assert_Failure
|atree.adb:3815, RM |atree.adb:3815, RM
|4.3.1(17.1/2) |4.3.1(4/2, 19.1/2)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40932