sanitizer_platform.h revision 251034
178388Sbenno//===-- sanitizer_platform.h ------------------------------------*- C++ -*-===// 24Srgrimes// 3509Srgrimes// The LLVM Compiler Infrastructure 450477Speter// 54Srgrimes// This file is distributed under the University of Illinois Open Source 6509Srgrimes// License. See LICENSE.TXT for details. 7509Srgrimes// 84Srgrimes//===----------------------------------------------------------------------===// 94Srgrimes// 104Srgrimes// Common platform macros. 1178388Sbenno//===----------------------------------------------------------------------===// 124Srgrimes 134Srgrimes#ifndef SANITIZER_PLATFORM_H 144Srgrimes#define SANITIZER_PLATFORM_H 1585532Sru 164Srgrimes#if !defined(__linux__) && !defined(__APPLE__) && !defined(_WIN32) 174Srgrimes# error "This operating system is not supported" 184Srgrimes#endif 1930640Speter 2082393Speter#if defined(__linux__) 2130640Speter# define SANITIZER_LINUX 1 2278388Sbenno#else 2378388Sbenno# define SANITIZER_LINUX 0 2485909Simp#endif 2578388Sbenno 2627674Sphk#if defined(__APPLE__) 2727674Sphk# define SANITIZER_MAC 1 2852651Smarcel#else 292056Swollman# define SANITIZER_MAC 0 302056Swollman#endif 312056Swollman 3279014Simp#if defined(_WIN32) 332056Swollman# define SANITIZER_WINDOWS 1 3452651Smarcel#else 3585909Simp# define SANITIZER_WINDOWS 0 364Srgrimes#endif 3785122Smp 3885122Smp#if defined(__ANDROID__) || defined(ANDROID) 3984897Smp# define SANITIZER_ANDROID 1 4085122Smp#else 4186295Sbenno# define SANITIZER_ANDROID 0 4285122Smp#endif 4338714Sjb 4486295Sbenno#define SANITIZER_POSIX (SANITIZER_LINUX || SANITIZER_MAC) 4586295Sbenno 465327Sgibbs#endif // SANITIZER_PLATFORM_H 475327Sgibbs