1*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 2*58b9f456SAndroid Build Coastguard Worker // 3*58b9f456SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*58b9f456SAndroid Build Coastguard Worker // 5*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open 6*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details. 7*58b9f456SAndroid Build Coastguard Worker // 8*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*58b9f456SAndroid Build Coastguard Worker #ifndef SUPPORT_NASTY_MACROS_HPP 10*58b9f456SAndroid Build Coastguard Worker #define SUPPORT_NASTY_MACROS_HPP 11*58b9f456SAndroid Build Coastguard Worker 12*58b9f456SAndroid Build Coastguard Worker #define NASTY_MACRO This should not be expanded!!! 13*58b9f456SAndroid Build Coastguard Worker #define _A NASTY_MACRO 14*58b9f456SAndroid Build Coastguard Worker #define _B NASTY_MACRO 15*58b9f456SAndroid Build Coastguard Worker #define _C NASTY_MACRO 16*58b9f456SAndroid Build Coastguard Worker #define _D NASTY_MACRO 17*58b9f456SAndroid Build Coastguard Worker #define _E NASTY_MACRO 18*58b9f456SAndroid Build Coastguard Worker #define _F NASTY_MACRO 19*58b9f456SAndroid Build Coastguard Worker #define _G NASTY_MACRO 20*58b9f456SAndroid Build Coastguard Worker #define _H NASTY_MACRO 21*58b9f456SAndroid Build Coastguard Worker #define _I NASTY_MACRO 22*58b9f456SAndroid Build Coastguard Worker #define _J NASTY_MACRO 23*58b9f456SAndroid Build Coastguard Worker #define _K NASTY_MACRO 24*58b9f456SAndroid Build Coastguard Worker #define _L NASTY_MACRO 25*58b9f456SAndroid Build Coastguard Worker // Because FreeBSD uses _M in its <sys/types.h>, and it is hard to avoid 26*58b9f456SAndroid Build Coastguard Worker // including that header, only define _M for other operating systems. 27*58b9f456SAndroid Build Coastguard Worker #ifndef __FreeBSD__ 28*58b9f456SAndroid Build Coastguard Worker #define _M NASTY_MACRO 29*58b9f456SAndroid Build Coastguard Worker #endif 30*58b9f456SAndroid Build Coastguard Worker #define _N NASTY_MACRO 31*58b9f456SAndroid Build Coastguard Worker #define _O NASTY_MACRO 32*58b9f456SAndroid Build Coastguard Worker #define _P NASTY_MACRO 33*58b9f456SAndroid Build Coastguard Worker #define _Q NASTY_MACRO 34*58b9f456SAndroid Build Coastguard Worker #define _R NASTY_MACRO 35*58b9f456SAndroid Build Coastguard Worker #define _S NASTY_MACRO 36*58b9f456SAndroid Build Coastguard Worker #define _T NASTY_MACRO 37*58b9f456SAndroid Build Coastguard Worker #define _U NASTY_MACRO 38*58b9f456SAndroid Build Coastguard Worker #define _V NASTY_MACRO 39*58b9f456SAndroid Build Coastguard Worker #define _W NASTY_MACRO 40*58b9f456SAndroid Build Coastguard Worker #define _X NASTY_MACRO 41*58b9f456SAndroid Build Coastguard Worker #define _Y NASTY_MACRO 42*58b9f456SAndroid Build Coastguard Worker #define _Z NASTY_MACRO 43*58b9f456SAndroid Build Coastguard Worker 44*58b9f456SAndroid Build Coastguard Worker // tchar.h defines these macros on Windows. 45*58b9f456SAndroid Build Coastguard Worker #define _UI NASTY_MACRO 46*58b9f456SAndroid Build Coastguard Worker #define _PUC NASTY_MACRO 47*58b9f456SAndroid Build Coastguard Worker #define _CPUC NASTY_MACRO 48*58b9f456SAndroid Build Coastguard Worker #define _PC NASTY_MACRO 49*58b9f456SAndroid Build Coastguard Worker #define _CRPC NASTY_MACRO 50*58b9f456SAndroid Build Coastguard Worker #define _CPC NASTY_MACRO 51*58b9f456SAndroid Build Coastguard Worker 52*58b9f456SAndroid Build Coastguard Worker // yvals.h on MINGW defines this macro 53*58b9f456SAndroid Build Coastguard Worker #define _C2 NASTY_MACRO 54*58b9f456SAndroid Build Coastguard Worker 55*58b9f456SAndroid Build Coastguard Worker // Test that libc++ doesn't use names reserved by WIN32 API Macros. 56*58b9f456SAndroid Build Coastguard Worker // NOTE: Obviously we can only define these on non-windows platforms. 57*58b9f456SAndroid Build Coastguard Worker #ifndef _WIN32 58*58b9f456SAndroid Build Coastguard Worker #define __deallocate NASTY_MACRO 59*58b9f456SAndroid Build Coastguard Worker #define __out NASTY_MACRO 60*58b9f456SAndroid Build Coastguard Worker #endif 61*58b9f456SAndroid Build Coastguard Worker 62*58b9f456SAndroid Build Coastguard Worker #define __output NASTY_MACRO 63*58b9f456SAndroid Build Coastguard Worker #define __input NASTY_MACRO 64*58b9f456SAndroid Build Coastguard Worker 65*58b9f456SAndroid Build Coastguard Worker #endif // SUPPORT_NASTY_MACROS_HPP 66