408 |
(cond |
(cond |
409 |
((null type) |
((null type) |
410 |
(wt-nl1 "static void LnkT" |
(wt-nl1 "static void LnkT" |
411 |
num "(){ call_or_link(VV[" num "],(void **)&Lnk" num");}" |
num "(){ call_or_link(VV[" num "],(void **)(void *)&Lnk" num");}" |
412 |
)) |
)) |
413 |
((eql type 'proclaimed-closure) |
((eql type 'proclaimed-closure) |
414 |
(wt-nl1 "static void LnkT" num |
(wt-nl1 "static void LnkT" num |
415 |
"(ptr) object *ptr;{ call_or_link_closure(VV[" num "],(void **)&Lnk" num",(void **)&Lclptr" num");}")) |
"(ptr) object *ptr;{ call_or_link_closure(VV[" num "],(void **)(void *)&Lnk" num",(void **)(void *)&Lclptr" num");}")) |
416 |
(t |
(t |
417 |
;;change later to include above. |
;;change later to include above. |
418 |
;;(setq type (cdr (assoc type '((t . "object")(:btpr . "bptr"))))) |
;;(setq type (cdr (assoc type '((t . "object")(:btpr . "bptr"))))) |
423 |
(declaration-type (rep-type type)) "V1;" |
(declaration-type (rep-type type)) "V1;" |
424 |
"va_list ap;va_start(ap,first);V1=call_" |
"va_list ap;va_start(ap,first);V1=call_" |
425 |
(if vararg "v" "") "proc_new(VV[" |
(if vararg "v" "") "proc_new(VV[" |
426 |
(add-object name)"],(void **)&Lnk" num ) |
(add-object name)"],(void **)(void *)&Lnk" num ) |
427 |
(or vararg (wt "," (proclaimed-argd args type))) |
(or vararg (wt "," (proclaimed-argd args type))) |
428 |
(wt ",first,ap);va_end(ap);return V1;}" ))) |
(wt ",first,ap);va_end(ap);return V1;}" ))) |
429 |
(t (wt "(){return call_proc0(VV[" (add-object name) |
(t (wt "(){return call_proc0(VV[" (add-object name) |
430 |
"],(void **)&Lnk" num ");}" )))) |
"],(void **)(void *)&Lnk" num ");}" )))) |
431 |
(t (error "unknown link type ~a" type))) |
(t (error "unknown link type ~a" type))) |
432 |
(setq name (symbol-name name)) |
(setq name (symbol-name name)) |
433 |
(if (find #\/ name) (setq name (remove #\/ name))) |
(if (find #\/ name) (setq name (remove #\/ name))) |