DIRECTORY Cmplr6Defs0, Cmplr6Defs1, Cmplr6Defs2, Cmplr6Defs4, Cmplr6Defs5, Cmplr6Defs6, PhonyDef, RunRegressions, XMesaProcs; XMesaCmplr6: PROGRAM IMPORTS Cmplr6Defs1, Cmplr6Defs2, <> Cmplr6Defs4, Cmplr6Defs5, Cmplr6Defs6, RunRegressions, XMesaProcs EXPORTS PhonyDef = BEGIN someVar: PUBLIC CARDINAL ¬ 3; filename: LONG STRING ¬ "XMesaCmplr6"L; XMesaCall6: PROCEDURE = { XMesaProcs.PrintCR; XMesaProcs.PrintS[filename]; XMesaProcs.PrintCR; XMesa6a[]; --Importing constants and types XMesa6b[]; --READONlY variables and pointers to READONlY var's XMesa6c[]; --Defaults inside an interface XMesa6d[]; --Imporing two instances of the same defs file XMesa6e[]; --INLINE procedures XMesa6g[]; --Calling an interface which is imported by another interface XMesaProcs.PrintS["Done"L]; XMesaProcs.PrintCR; }; --end of XMesaCall6 XMesa6a: PROCEDURE = { --importing constants and types XMesa6aPair: TYPE = Cmplr6Defs0.Pair; XMesa6aPairPtr: LONG POINTER TO XMesa6aPair ¬ NIL; pair: XMesa6aPair ¬ [-86, 86]; XMesa6aPairPtr ¬ @pair; XMesaProcs.Ischarequal[Cmplr6Defs0.charA, 'A, 3300, filename]; XMesaProcs.Isequal[Cmplr6Defs0.limit, 87, 3310, filename]; XMesaProcs.Isequal[XMesa6aPairPtr.first, -86, 3320, filename]; XMesaProcs.Isequal[XMesa6aPairPtr.second, 86, 3330, filename]; }; XMesa6b: PROCEDURE = { --READONlY variables and pointers to READONlY var's p: LONG POINTER TO READONLY INTEGER ¬ @Cmplr6Defs1.var2; IF Cmplr6Defs1.var2 # 15 THEN XMesaProcs.PutFailMessage[3350, filename]; Cmplr6Defs1.var1 ¬ 20; IF Cmplr6Defs1.var1 # 20 THEN XMesaProcs.PutFailMessage[3370, filename]; IF p­ # 15 THEN XMesaProcs.PutFailMessage[3390, filename]; }; XMesa6c: PROCEDURE = { --Defaults inside an interface int: INTEGER; Cmplr6Defs2.var1 ¬ -100; int ¬ Cmplr6Defs2.AddToVar[50]; XMesaProcs.Isequal[int, -50, 3410, filename]; int ¬ Cmplr6Defs2.Defs2Proc1[]; XMesaProcs.Isequal[int, -198, 3420, filename]; int ¬ Cmplr6Defs2.Defs2Proc2[]; XMesaProcs.Isequal[int, -198, 3430, filename]; }; XMesa6d: PROCEDURE = { --Imporing two instances of the same defs file << AR 1046 int1, int2: INTEGER; D1.var1 ¬ -100; D2.var1 ¬ -200; IF D1.var1 <= D2.var1 THEN XMesaProcs.PutFailMessage[3450, filename]; int1 ¬ D1.Defs3Proc1[D1.var1]; int2 ¬ D2.Defs3Proc1[D2.var1]; IF D1.var1 = D2.var1 THEN XMesaProcs.PutFailMessage[3460, filename]; IF D1.var1 # -200 THEN XMesaProcs.PutFailMessage[3470, filename];>> }; XMesa6e: PROCEDURE = { --INLINE procedures int: INTEGER; FOR begin: CARDINAL IN [1..59] DO Cmplr6Defs4.Defs4Proc2[begin]; ENDLOOP; int ¬ Cmplr6Defs4.Defs4Proc3[23]; XMesaProcs.Isequal[int, -23, 3480, filename]; int ¬ Cmplr6Defs4.Defs4Proc3[59]; XMesaProcs.Isequal[int, -59, 3490, filename]; }; << Moved to module 15: XMesa6f: PROCEDURE = { --Importing PROGRAM modules XProg1Types: LONG POINTER TO FRAME[Cmplr6Prog0] = NIL; var1: XProg1Types.Prog0Type1 ¬ [-100, TRUE]; IF var1.x # -100 THEN XMesaProcs.PutFailMessage[3500, filename]; IF var1.y # TRUE THEN XMesaProcs.PutFailMessage[3510, filename]; }; >> XMesa6g: PROCEDURE = { --Calling an interface which imports another interface int: INTEGER; int ¬ Cmplr6Defs5.Proc1[200, 302]; XMesaProcs.Isequal[int, -1, 3520, filename]; }; RunRegressions.RegisterTest[XMesaCall6, "test6"]; END... n File: XMesaCmplr6.mesa - created by JKF. Last edit: JKF 1-Jul-87 17:28:57 Jim Foote January 6, 1988 5:20:25 pm PST Mna, April 17, 1991 3:31 pm PDT Copyright (C) 1987 by Xerox Corporation. All rights reserved. XMesaCmplr6.mesa Created on 24-Apr-87 14:20:49 MW 24-Apr-87 14:21:08 Modules, programs and configurations Cmplr6Defs3, Cmplr6Prog0, This is a workaround for a bug in XDE: Modules which appear at the beginning of a config and which do not export any values can cause address faults when starting other modules. This is a princops Binder bug too: This is a princops Binder bug too: mainline ÊÛ•NewlineDelimiter ™J™3J™&J™(J™J˜J™=J™J™J™J˜J™$J˜šÏk ˜ J˜ J˜ J˜ J™ J˜ J˜ J˜ J™ J˜ J˜J˜ J˜—šÏn œ˜š˜J˜?J˜A—Jšœ ˜Jš˜J˜J™&J™;J™EJ™Jšœ œœ˜J˜Jšœ œœ˜'J˜Jšž œ œ˜J˜J˜J˜J˜J˜Jšœ Ïc ˜,Jšœ Ÿ3˜?Jšœ Ÿ˜*Jšœ Ÿ.˜:Jšœ Ÿ˜Jšœ Ÿ=˜IJ˜J˜J˜J˜JšœŸ˜J˜J˜šžœ œŸ˜7Jšœ œ˜%Jš žœœœœœ˜2J˜J˜J˜>J˜:J˜>J˜>J˜J˜—Jšžœ œŸ3˜K˜Jš œœœœœœ˜8J˜—Jšœœ+˜HJ˜J˜Jšœœ+˜HJ˜Jšœ œ+˜:J˜J˜J˜Jšžœ œŸ˜6˜Jšœœ˜ J˜J˜J˜—J˜-J˜J˜J˜J˜.J˜J˜J˜.J˜J˜J˜šžœ œŸ.˜FJ˜ Jšœ œ˜Jšœ ˜Jšœ ˜J™"Jšœœ œœ+˜EJ˜—Jšœœ œ˜Jšœœ œ˜J˜J™"Jšœœœœ+˜DJšœœ œ-˜CJ˜J˜J˜šžœ œŸ˜+Jšœœ˜ Jš œœœ œ œ˜IJ˜—J˜!J˜-J˜!J˜-J˜J˜J˜—˜šžœ œŸ˜3Jš ž œœœœœœ˜6Jšœ&œ˜,J˜Jšœœ+˜@Jšœ œœ+˜@J˜J˜——J˜˜šžœ œŸ6˜NJšœœ˜ J˜"J˜,J˜J˜—J™J˜1J˜Jšœ˜J˜J˜——…— ä-