Fran�oise & Herv� BITTEUR writes: > Please, how could I name the item 'Ptr', belonging to task body 'T' in > the following entry point. I cannot name it simply 'Ptr' since the entry > point already has a 'Ptr' as parameter. > > The various constructions, all flagged hereunder with comment "Not OK", > lead to the GNAT compilation message : > invalid prefix in selected component "T" > > How come ? > Besides, this is a simplified old piece of code (Ada 83) that used to > compile correctly on VaxAda. > Compiling with ObjectAda 7.1.2 gives no errors for the code below. So you've got a GNAT bug (which I also reproduced). > Thanks for any clue. > --Herv� BITTEUR > > ---- cut here ------------------------------------------------------- > procedure Test is > type T; > type T_Ptr is access T; > task type T is > entry Point (Ptr : in T_Ptr); > end T; > task body T is > Ptr : T_Ptr; > My_Ptr : T_Ptr; > begin > accept Point > (Ptr : in T_Ptr) > do > --Ptr := Ptr; -- not OK, of course > My_Ptr := Ptr; -- OK, but I don't like it ! > > T.Ptr := Ptr; -- not OK > T.My_Ptr := Ptr; -- not OK > > Test.T.Ptr := Ptr; -- not OK > Test.T.My_Ptr := Ptr; -- not OK > end Point; > end T; > begin > null; > end Test; > -- gnatmake -g test.adb > -- gcc -c -g test.adb > -- test.adb:17:10: invalid prefix in selected component "T" > -- test.adb:18:10: invalid prefix in selected component "T" > -- test.adb:20:14: invalid prefix in selected component "T" > -- test.adb:21:14: invalid prefix in selected component "T" > -- gnatmake: "test.adb" compilation error > ----- end of example --------------------------------------------------