In 19.8, the LRM says for a module port list like module m (int i, j); that j will inherit its type from the previous declaration and be an int. However, I just discovered that it says in 12.2 and 12.3 that for a task or function argument list like function f (int i, j); that j will be the default type, and that is logic. Perhaps this was intended to say that the default type is logic for the first argument and that it is the previous type for other arguments, but that is not what it says. I remember we did a lot of rewording of the module port section to get it right. Perhaps this similar section just got missed. Is there anyone who knows what the intent was? And does anyone think that having these behave differently is sane? There is another possibly related issue for properties, based on an example in 17.11.4 that reads: property p1(int i, j); and says that the second property is untyped. However, there seems to be a special meaning of untyped for properties that might require this difference. I don't know much about them. Steven Sharp sharp@cadence.comReceived on Fri Jan 27 13:02:01 2006
This archive was generated by hypermail 2.1.8 : Fri Jan 27 2006 - 13:03:40 PST