> It would be easy enough to test---just disable the cpp case that uses
> __cpuid().
I cannot. GCC supports AT&T sytax only. Visual C does not support any inline assembly in 64 bit mode:
http://msdn.microsoft.com/en-us/library/wbk4z78b.aspx (And I can confirm that is true). However, we might be able to test it with your ICC compiler, since it works on Win64 and supports inline assembly.
> Attached is the C source file I used, and an assembly file generated by
> "icc -g -no-gcc -S".
This is clearly cdecl. I also compiled it with GCC on linux, and it generates 3 different types of assembly code depending on the calling convention. I will send it privately to you. (Perhaps this whole chat could be private, I am not sure many people are interested. If someone wants to join this discussion about low level stuff, just send me an email)
Intel really says that cdecl and stdcall only affects Windows. But this is not true.
http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/fortran/win/lref_for/source_files/rfattcst.htm
Regards,
Zoltan