STR-764: AT_term_to_pointer on 64bit platforms
There seems to be a problem with AT_term_to_pointer on 64bit platform. The following test demonstrates the issue. I fixed the problem temporarily by taking the AT_term_to_pointer function out, renaming it, and using in directly in our transformation libraries. This suggests to me that it might be a compiler flags issue, but I’m not entirely sure.
void test2()
Submitted on 16 January 2009 at 17:28
{
FILE * fp = 0x8000E260;
ATerm t;
t = AT_pointer_to_term((void ) fp);
printf("fp = 0x%llX
",fp);
FILE * fp2 = (FILE) AT_term_to_pointer(t);
printf("fp2 = 0x%llX
",fp2);
fp2 = (((unsigned long long) fp2 « 32) » 32);
printf("fp2 changed = 0x%llX
",fp2);
}
Issue Log
STR-764, karltk:
Which version of gcc are you using (gcc –version)? I’ve recently discovered that gcc 4.3 provides a few new bugs for us.
Log in to post comments