gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] GM2 Bug no. 2


From: Iztok Kobal
Subject: [Gm2] GM2 Bug no. 2
Date: Sun, 17 Oct 2004 17:51:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040805 Netscape/7.2

GM2 - latest CVS

#>gm2 -c -Wiso -save-temps -g3 -O3 -gstabs+ -I. B.mod
B.mod:6:the following unknown symbols in module B were unresolved
B.mod:5:unknown symbol (a)

#>gm2 -c -Wiso -save-temps -g3 -O3 -gstabs+ -I. B1.mod
B1.mod:6:symbol (T) is already declared in this scope, use a different name or remove the declaration
B.def:6:and symbol (T) is also declared here

Well, one of both or both should compile !

I would vote for the B.mod ! Seems correct enough to me.

I am not sure about the regularity of the overriding the T in B1.mod but taking in consideration hiding and lolality concept of the Modula-2 the global scope of the .mod is not so much global as the globality of the scope of the .def. So the B1.mod should compile too. Or I am wrong ?


Yet the

#>gm2 -c -Wiso -save-temps -g3 -O3 -gstabs+ -I. Bok.mod

compiles fine so I suspect that the A.T and B.T and the (B.)T are not mapped as equal.

Iztok


DEFINITION MODULE A;

TYPE
  T = (a, b, c);

END A.
DEFINITION MODULE B;

IMPORT A;

TYPE
  T = A.T;

END B.
IMPLEMENTATION MODULE B;
VAR t : T;
BEGIN
  t := a;
END B.
IMPLEMENTATION MODULE B;

IMPORT A;

TYPE
  T = A.T;

VAR t : T;
BEGIN
  t := a;
END B.
IMPLEMENTATION MODULE B;
IMPORT A;
VAR t : T;
BEGIN
  t := B.a;
END B.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]