Can someone help me to add a FAQ entry in...

http://www.finkproject.org/faq/comp-general.php?phpLang=en

concerning gcc error messages that are significant for
64-bit code compilations? In particular we need to add
a question for...

Q6.25: I get warnings "cast to pointer from integer of different size" or
"initialization makes pointer from integer without a cast" when compiling
at -m64.

Errors of the form "cast to pointer from integer of different size" and
"initialization makes pointer from integer without a cast" can cause latent
bugs at -m64 since, if the size of the integer is greater than the pointer,
unwanted sign extension could occur. For example...

(unsigned long long)((void *)(0xdeadbeef)))

could show the result as 0xffffffffdeadbeef instead of the intended
0xdeadbeef. The fix is just to cast the pointer uintptr_t first so
that...

  if (xim_info->current_xics == (XContext) NULL)

becomes...

  if (xim_info->current_xics == (XContext)(uintptr_t) NULL)

to eliminate the incorrect cast and insure that the pointer is
correctly used.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-devel mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to