RFC: updating CPU identification macros
Keith Marshall <[email protected]> Tue, 31 May 2016 18:03:01 +0100
| Newsgroups | gmane.comp.gnu.mingw.devel |
|---|---|
| Organization | MinGW Project |
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Guys, As I've noted at https://sourceforge.net/p/mingw/bugs/2301/, in both <windows.h> and <winnt.h> I see: #if defined(__i686__) && !defined(_M_IX86) #define _M_IX86 600 #elif defined(__i586__) && !defined(_M_IX86) #define _M_IX86 500 #elif defined(__i486__) && !defined(_M_IX86) #define _M_IX86 400 #elif defined(__i386__) && !defined(_M_IX86) #define _M_IX86 300 #endif This may have been okay when Anders Norlander first wrote it, (although why he chose to duplicate it -- unnecessarily, as it happens - -- in the two headers noted above is something of a puzzle), but I doubt that it is good enough today. I've indicated how I propose to update this, on the 2301 ticket, but I'd particularly appreciate your thoughts on which, if any, of the other Microsoft predefined macros, as documented at: https://msdn.microsoft.com/en-us/library/b0084kay(v=vs.140).aspx we should consider adding. Also, how much of: #if defined(_M_IX86) && !defined(_X86_) #define _X86_ #elif defined(_M_ALPHA) && !defined(_ALPHA_) #define _ALPHA_ #elif defined(_M_PPC) && !defined(_PPC_) #define _PPC_ #elif defined(_M_MRX000) && !defined(_MIPS_) #define _MIPS_ #elif defined(_M_M68K) && !defined(_68K_) #define _68K_ #endif remains relevant today? (Indeed, did Microsoft /ever/ support the Motorola M68K processor?) Please add your comments on the 2301 ticket. - -- Regards, Keith. Public key available from keys.gnupg.net Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) iQIcBAEBAgAGBQJXTcPFAAoJEMCtNsY0flo/OEIP/2lDYl1YIzfE5/MxVXrIoj9l npT5dUYE7ht40oPAzwkAOrB0Z7YFpsbgpVMiA1eEMtySaDz/v1ODrzrGp7t8R4YA EGK87dKt34gT2TGudhyt5ER3xTvqynMFneIyApcLcP/Ul+0wmenP0FoMEpvGZt19 9kgl29zGBaIwFccPII8CFPARRrGycxr607nWBdpDIz/8zCsrU5tGLk3nnMZa6WB9 jOu8uzNQcKGWnpYdet/DWiRqLETxyCwAiY5mnLrWiIZw6qPDKd9U2vKjB4OB9BhU FNzaCpU4Q70Rugzthh386M1VPUgD+5TZD4rrQ2cuUaLrgL/zgr5oKNzKX5d8dIfj TmJuvuNnpWFzK1p5cQn5w6oZRhFzM0b+zOPXT81vVEcdQ8ysNHrGjLLV70UTziEw Kk5yJndHqBPbLqCZC3whT24rHTlbp2/wKK8ZxRi7ZE9r+1gu86Y8SG+eWkTwn+5Y QAnkSAMXpqGZwXR5afGjrYnxc/Clw3e3EZ8KhCvS6ovUj7hwlr5PetFD1ckumNAT WuHOFO82zCruiXA5Ko6eHOaHhnXn8tFEWXuDwWWbqZoDNA2rMMCivdJ8kq+Gmld/ aVe/v/9vuduc/N6x23bnCG5LfZTIf6lY/tzAyv3eQE7FVwMLqzi/nz8kYhQUv86j mNhuv1KX6ZqLZKFk4NyO =NRJa -----END PGP SIGNATURE----- ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e