------- Comment #1 from ludovic at ludovic-brenta dot org  2007-12-17 09:30 
-------
The initial test case was incorrect regarding the lines marked "ERROR".
Here's a corrected version:

package pak1 is
   type T1(<>) is tagged limited private;
private
   type T1(D: integer) is tagged limited null record;
end pak1;

with pak1;
package pak2 is
   type T2 is new pak1.T1 with null record;   -- legal
   x1: T2 := (pak1.T1 with null record);      -- ERROR, but accepted
end pak2;

package pak1.pak3 is
   type T3 is new pak1.T1 with null record;   -- legal, but rejected
   x2: T3 := (pak1.T1 with null record);      -- legal, but rejected
end pak1.pak3;

So in fact, Pak1.Pak3 also triggers a bug, albeit a different one from Pak2. 
I'll file it separately.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34507

Reply via email to