| Ticket Hash: | 2b566b4c81d33f2ec0cfa228966b5804d83c1a0c | ||
| Title: | [tcc4tcl::cproc] errors when given more than one argl argument | ||
| Status: | Closed | Type: | Documentation |
| Severity: | Important | Priority: | Medium |
| Subsystem: | Resolution: | Not_A_Bug | |
| Last Modified: |
2014-06-15 20:10:47 11.40 years ago |
Created: |
2014-06-13 16:02:46 11.41 years ago |
| Version Found In: | 0.17 | ||
| User Comments: | ||||
anonymous added on 2014-06-13 16:02:46:
(text/x-fossil-plain)
Attempting to create a [tcc4tcl::cproc] with an argl greater than one errors with "invalid type".
% tcc4tcl::cproc add {int a, int b} int {return a+b;}
<string>:4: error: invalid type
compilation failed
The full error message:
<string>:4: error: invalid type
compilation failed
while executing
"$tcc(cc) compile $code"
(procedure "::tcc4tcl::cc" line 8)
invoked from within
"::tcc4tcl::cc {
#include <tcl.h>
static int
c_add(int a,, int b) {
return a+b;}
int Cmd_N4__add (ClientData dummy,Tcl_Interp *ip,int objc,Tcl_Obj *C..."
("uplevel" body line 1)
invoked from within
"uplevel 1 [list ${ns}::cc $code]"
(procedure "::tcc4tcl::ccommand" line 40)
invoked from within
"::tcc4tcl::ccommand add {dummy ip objc objv} { int _a,;
int _b;
int rv;
if (objc != 3) {
Tcl_WrongNumArgs(ip, 1, objv, "a, b");
return ..."
("uplevel" body line 1)
invoked from within
"uplevel 1 [list ${ns}::ccommand $name {dummy ip objc objv} $cbody]"
(procedure "tcc4tcl::cproc" line 5)
invoked from within
"tcc4tcl::cproc add {int a, int b} int {return a+b;}"
(file "tcc.tcl" line 3)
Maybe something to do with c_add having more than one ',' between each argument?
c_add(int a,, int b) {return a+b;}
rkeene added on 2014-06-15 20:10:22: Format of arguments is poorly documented but should be without the comma (i.e., as a Tcl list):
tcc4tcl::cproc add {int a int b} int { return(a+b); }
| ||||