Not able to compile $UN.cast{ptr}(~1)

and I suspect other arithmetic expression as well. patsopt was successful.
But gcc failed with:
In file included from pl_dlcall_dats.c:15:0:
pl_dlcall_dats.c: In function ‘mainats_void_0’:
pl_dlcall_dats.c:176:18: error: ‘PMVtmpltcstmat’ undeclared (first use in
this function)
ATSINSmove(tmp5,
PMVtmpltcstmat0(ATSPMVi0nt(1))) ;

The expression was used as in: $UN.cast{ptr}(~1)
I was doing a test thus the relatively strange problem here:-)

Did you have the following line at the top:

#include "share/atspre_staload.hats"On Thursday, January 23, 2014 9:26:34 PM UTC-5, H Zhang wrote:

and I suspect other arithmetic expression as well. patsopt was successful.
But gcc failed with:
In file included from pl_dlcall_dats.c:15:0:
pl_dlcall_dats.c: In function ‘mainats_void_0’:
pl_dlcall_dats.c:176:18: error: ‘PMVtmpltcstmat’ undeclared (first use in
this function)
ATSINSmove(tmp5,
PMVtmpltcstmat0(ATSPMVi0nt(1))) ;

The expression was used as in: $UN.cast{ptr}(~1)
I was doing a test thus the relatively strange problem here:-)

See the functions int2ptr and ptr2int in the following file:

http://www.cs.bu.edu/~hwxi/academic/courses/CS320/Spring14/assignments/01/assignment1a_money.dats

Just do something like $UN.cast{ptr}(~1) can result in warnings generated
from gcc or other C compilers.On Thursday, January 23, 2014 9:28:32 PM UTC-5, gmhwxi wrote:

Did you have the following line at the top:

#include “share/atspre_staload.hats”

On Thursday, January 23, 2014 9:26:34 PM UTC-5, H Zhang wrote:

and I suspect other arithmetic expression as well. patsopt was
successful. But gcc failed with:
In file included from pl_dlcall_dats.c:15:0:
pl_dlcall_dats.c: In function ‘mainats_void_0’:
pl_dlcall_dats.c:176:18: error: ‘PMVtmpltcstmat’ undeclared (first use in
this function)
ATSINSmove(tmp5,
PMVtmpltcstmat0(ATSPMVi0nt(1))) ;

The expression was used as in: $UN.cast{ptr}(~1)
I was doing a test thus the relatively strange problem here:-)

I didn’t have
#include “share/atspre_staload.hats”

as that loads everything including those that are Windows incompatible
(POSIX incompatibility). I need to figure out a safe version for Windows
(mingw native).

I included the line and compiled under Cygwin and it worked. As you said
there were gcc warnings, but that is to be expected :-). I will look at
your examples to see if I can get rid of the warnings.On Thursday, January 23, 2014 6:30:58 PM UTC-8, gmhwxi wrote:

See the functions int2ptr and ptr2int in the following file:

http://www.cs.bu.edu/~hwxi/academic/courses/CS320/Spring14/assignments/01/assignment1a_money.dats

Just do something like $UN.cast{ptr}(~1) can result in warnings generated
from gcc or other C compilers.

On Thursday, January 23, 2014 9:28:32 PM UTC-5, gmhwxi wrote:

Did you have the following line at the top:

#include “share/atspre_staload.hats”

On Thursday, January 23, 2014 9:26:34 PM UTC-5, H Zhang wrote:

and I suspect other arithmetic expression as well. patsopt was
successful. But gcc failed with:
In file included from pl_dlcall_dats.c:15:0:
pl_dlcall_dats.c: In function ‘mainats_void_0’:
pl_dlcall_dats.c:176:18: error: ‘PMVtmpltcstmat’ undeclared (first use
in this function)
ATSINSmove(tmp5,
PMVtmpltcstmat0(ATSPMVi0nt(1))) ;

The expression was used as in: $UN.cast{ptr}(~1)
I was doing a test thus the relatively strange problem here:-)