------- Comment #8 from acahalan at gmail dot com 2006-09-27 03:47 ------- (In reply to comment #5) > Did you read the documention? > Warning: if you use this switch, and num is nonzero, then you must build all > modules with the same value, including any libraries. This includes the system > libraries and startup modules. > > Warning: this calling convention is incompatible with the one normally used on > Unix, so you cannot use it if you need to call libraries compiled with the > Unix > compiler.
I sure as heck did read this. It is the problem. Every time I read that, I am annoyed that gcc does not take advantage of the "system headers" concept to make things work OK. The mingw32 example in Comment #7 has a defect. System headers do not always come from one single supplier. On a typical Linux system, there are header files from numerous packages installed in /usr/include. There is no reasonable way to get them all marked up with the ABI. This would be a fine interface: gcc -mregparm-app-only=3 ... (likewise for -mrtd as -mrtd-app-only, etc.) -- acahalan at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29242