RE: [sv-bc] Function call without ()

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Sun Oct 19 2008 - 09:08:58 PDT
Adding in the SV-EC regarding http://www.eda-stds.org/sv-bc/hm/9007.html
.  Some relevant sections in draft 7a are 13.5.5 ("Optional argument
list"), 13.7 ("Task and function names"), and 23.8 ("Upwards name
referencing").

-----Original Message-----

But if a class method even called as forward referenced inside the class

without argument, is it an error or not. Normally a function can be 
forward referenced. LRM is silent on that. Please consider the case and 
let me know whether it is correct or not:

module top;
class C;
task t;
int x;
x = f; // Here 'f' is a class method declared later.
endtask
static function int f;
return 1;
endfunction
endclass
endmodule

Regards
Surya


-------- Original Message --------
>
> You can read some of the history in
>
>
http://www.eda.org/sv-ec/Minutes/SV-EC_BallotRes_Meeting_April_15_2005_M
inutes.txt
>
> Look for "Mantis 93".
>
> -- Brad
>
>
> Hi,
> As per 1800 2005 LRM:
>
> *12.4.5 Optional argument list
> When a void function or class function method specifies no arguments, 
> the empty parenthesis, (), following the subroutine name shall be 
> optional. This is also true for tasks, void functions, and class 
> methods that require arguments, when all arguments have defaults 
> specified. It shall be illegal to omit the parenthesis in a directly 
> recursive nonvoid function method call that is not hierarchically 
> qualified.*
>
> Why only class methods are relaxed? If general function also used 
> without () what is the issue there?
>
> -- 
> Regards
> Surya
>
>


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Oct 19 09:10:12 2008

This archive was generated by hypermail 2.1.8 : Sun Oct 19 2008 - 09:12:18 PDT