gm2
[Top][All Lists]
Advanced

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

Re: [Gm2] equality, inequality tests and structured types


From: Gaius Mulley
Subject: Re: [Gm2] equality, inequality tests and structured types
Date: Thu, 29 Jan 2009 07:35:11 +0000
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

"Breeden, Thomas (tmb)" <address@hidden> writes:

> Gaius,
>
> An annotation in this section
>
>    6.7.4 Dereferenced Designators
>    ...
>    annotations: Check the designator and that it designates a variable of a 
> pointer type. 
>    Outside of the implementation module in which it is defined, an opaque 
> type is not a pointer type.
>
> I am puzzled about the other annotation about the "meaning
> function". Maybe it requires more understanding of the VDL. But it
> seems as if it is not legal to assign a pointer type (even ADDRESS)
> to an opaque type outside of its own implementation module.

Hi Tom,

thanks for finding the reference - yes indeed you're right.  I think
I'm going to add a section to the gm2 manual before I forget this..
Interestingly when that statement is coupled to the Assignment
compatibility section - it does agree with your statement above..

thanks for the clarification,
Gaius



>
> Tom
> address@hidden
>
>> > I spent some time this weekend pouring over the ISO document trying
>> to determine if I could really allow a statement like this in a client
>> module importing an Opaque.
>> >
>> > VAR  c :TheImportedOpaque;
>> > BEGIN
>> > c := NIL;
>> >
>> > and I couldn't. The standard makes it clear that an Opaque type is
>> > not a pointer type except within the Impl module which elaborates
>> > the Opaque type as POINTER TO x or ADDRESS. It even states that
>> > baldly, though I don't have the paragraph at hand.
>> 
>> do you have a reference for the above in the ISO standard?
>> 
>> It also says that:
>> 
>> "Annotations  Opaque types are indistinguishable from pointer types
>> with respect to the meaning function."
>> 




reply via email to

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