http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47175
--- Comment #2 from Jan <jan.rauberg at gmx dot de> 2011-01-05 14:00:43 UTC --- (In reply to comment #1) > Checking __amd64, __amd64__, __x86_64 __x86_64__ for > pointer size is wrong since pointer size may be > 32bit on x86-64. No, it can't be. The macros are set in dependence of the target platform (m32 or m64). That means, if m32 is given the macro __i686 is set instead of __amd64. On the other hand, if m64 is given the macro __amd64 is set. I don't want to know the really underlying platform. I (or Matlab) want to know the target platform. So it is right to check the __amd64 macro. You can try it with the gcc-4.4. Only with gfortran-4.4 the macro is missed. > Checking __LP64__ is correct. Yes maybe, but this is not the default way (by Matlab and other tools) Jan