Hi Hongwei,
On Sat, Jun 27, 2015 at 2:55 AM, Hongwei Xi <
gmh...@gmail.com> wrote:
>>>s_op= {l:addr}(super_operations_t@l | ptr(l))
>
> This is likely a mistake. I think you need:
>
> s_op= [l:addr](super_operations_t@l | ptr(l))
Thank's. It's my mistake.
https://github.com/jats-ug/practice-ats/blob/eadbc1861341b927bc8de80776067dc779135b9b/pointer_chain2/main.dats
However, my code has compile error at GCC side.
$ patscc main.dats dentry.c
main_dats.c: In function ‘mainats_void_0’:
main_dats.c:304:1: warning: implicit declaration of function
‘get_dentry_p’ [-Wimplicit-function-declaration]
ATSINSmove(tmp1, get_dentry_p()) ;
^
In file included from main_dats.c:15:0:
/home/kiwamu/src/ATS-Postiats/ccomp/runtime/pats_ccomp_instrset.h:260:35:
warning: assignment makes pointer from integer without a cast
#define ATSINSmove(tmp, val) (tmp = val)
^
main_dats.c:304:1: note: in expansion of macro ‘ATSINSmove’
ATSINSmove(tmp1, get_dentry_p()) ;
^
/home/kiwamu/src/ATS-Postiats/ccomp/runtime/pats_ccomp_instrset.h:203:29:
error: dereferencing pointer to incomplete type
#define ATSderef(pmv, hit) (*(hit*)pmv)
^
--snip--
Doesn't ATS compiler support this style?
Regards,