Oh wow, thanks!

On Monday, June 24, 2019 at 1:59:59 PM UTC-5, gmhwxi wrote:
>
> Fixed it.
>
> The following two lines were missing in ccomp/runtime/temptory_typedefs.h:
>
> #define atstyclo_top struct{ void *cfun; }
> #define atstyclo_type(flab) flab##__closure_t0ype
>
> --Hongwei
>
> On Mon, Jun 24, 2019 at 2:51 PM aditya siram <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>> Stack allocated closures don't seem to work the same way in Temptory, eg. 
>> compiling the following:
>>
>> #include "share/HATS/temptory_staload_bucs320.hats"
>>
>> fun apply(f: &(string) -<clo1> void, s:string):void = f(s)
>>
>> implement main0(argc,argv) = 
>>   let
>>     var f = lam@(s:string):void => println! s
>>   in
>>     apply(f,"hello world")
>>   end
>>
>>
>>
>> results in:
>>
>> In file included from test2_dats.c:15:
>> test2_dats.c: In function ‘mainats_0_argc_argv’:
>> test2_dats.c:323:20: warning: implicit declaration of function ‘
>> atstyclo_type’; did you mean ‘atstyvar_type’? [-Wimplicit-function-
>> declaration]
>>  ATStmpdec(tmpref2, atstyclo_type(__patsfun_2)) ;
>>                     ^~~~~~~~~~~~~
>> /home/deech/ATS/ComposeTalk2019/ATS/ATS-Temptory/ccomp/runtime/
>> temptory_instrset.h:209:29: note: in definition of macro ‘ATStmpdec’
>>  #define ATStmpdec(tmp, hit) hit tmp
>>                              ^~~
>> test2_dats.c:323:11: error: expected ‘;’ before ‘tmpref2’
>>  ATStmpdec(tmpref2, atstyclo_type(__patsfun_2)) ;
>>            ^~~~~~~
>> /home/deech/ATS/ComposeTalk2019/ATS/ATS-Temptory/ccomp/runtime/
>> temptory_instrset.h:209:33: note: in definition of macro ‘ATStmpdec’
>>  #define ATStmpdec(tmp, hit) hit tmp
>>                                  ^~~
>> test2_dats.c:345:68: error: ‘tmpref2’ undeclared (first use in this 
>> function)
>>  ATSINSclosure_initize(__patsfun_2, ((__patsfun_2__closure_t0ype*)(&
>> tmpref2))) ;
>>                                                                     
>> ^~~~~~~
>> /home/deech/ATS/ComposeTalk2019/ATS/ATS-Temptory/ccomp/runtime/
>> temptory_instrset.h:369:66: note: in definition of macro ‘
>> ATSINSclosure_initize’
>>  #define ATSINSclosure_initize(flab, tmpenv) (flab##__closureinit)tmpenv
>>                                                                   ^~~~~~
>> test2_dats.c:345:68: note: each undeclared identifier is reported only 
>> once for each function it appears in
>>  ATSINSclosure_initize(__patsfun_2, ((__patsfun_2__closure_t0ype*)(&
>> tmpref2))) ;
>>                                                                     
>> ^~~~~~~
>> /home/deech/ATS/ComposeTalk2019/ATS/ATS-Temptory/ccomp/runtime/
>> temptory_instrset.h:369:66: note: in definition of macro ‘
>> ATSINSclosure_initize’
>>  #define ATSINSclosure_initize(flab, tmpenv) (flab##__closureinit)tmpenv
>>
>>
>>
>> Thanks!
>> -deech
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "ats-lang-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/ats-lang-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ats-lang-users/7ee015c5-b3d1-4b26-a5d9-21a967d83144%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ats-lang-users/7ee015c5-b3d1-4b26-a5d9-21a967d83144%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/7936322d-f77a-4b8f-a57a-ac3f86e988ff%40googlegroups.com.

Reply via email to