From: Charles W. <cwi...@us...> - 2012-09-05 14:49:52
|
On 9/5/2012 7:42 AM, Earnie Boyd wrote: > On Wed, Sep 5, 2012 at 12:31 AM, Charles Wilson wrote: > >> Both of these styles only work if you never have a situation where: a >> definition applies for $oldWindows, but should NOT be supported for >> $newWindows. I *THINK* this requirement is satisfied by the w32api part >> of things, given Microsoft's oft-derided backwards-compatibility fetish >> when it comes to the *syntax* of their API (the *sematics* of that API >> seems to change with the wind, however). > Out of hundreds of files I only remember two times where there were > #if this #else that #endif scenarios. I'm thinking even those can be > reworked with an assumption that nothing less than WIN95 will ever use > MinGW GCC. But is there any objection to moving these filtered > declarations toward the end of the file and which style is preferred? Fine with me. (and I prefer the second, fully-separated style) -- easier to add version-specific "only _WIN32_WINNT == _WIN32_WINNT_WINXP" elements that way, if it ever becomes necessary. >> Now, on the mingw-rt side of the fence, I think we probably do have >> items that are defined one way for $oldWindows but another way for >> $newWindows -- plus there's 32bit vs. any 64bit additions. > Most of the runtime headers are more bound to __MSVCRT_VERSION__. > There are 136 filters for __MSVCRT_VERSION__ in 17 files. As for > 32bit vs 64bit that is yet another RFC. A big difference with 64bit > is the @BYTE argument is gone for stdcall and the assembler changed. > We already have some #if WIN64 filters. > Understood. -- Chuck |