sanitizer_platform.h revision 274201
1251034Sed//===-- sanitizer_platform.h ------------------------------------*- C++ -*-===// 2251034Sed// 3251034Sed// The LLVM Compiler Infrastructure 4251034Sed// 5251034Sed// This file is distributed under the University of Illinois Open Source 6251034Sed// License. See LICENSE.TXT for details. 7251034Sed// 8251034Sed//===----------------------------------------------------------------------===// 9251034Sed// 10251034Sed// Common platform macros. 11251034Sed//===----------------------------------------------------------------------===// 12251034Sed 13251034Sed#ifndef SANITIZER_PLATFORM_H 14251034Sed#define SANITIZER_PLATFORM_H 15251034Sed 16251034Sed#if !defined(__linux__) && !defined(__APPLE__) && !defined(_WIN32) 17251034Sed# error "This operating system is not supported" 18251034Sed#endif 19251034Sed 20251034Sed#if defined(__linux__) 21251034Sed# define SANITIZER_LINUX 1 22251034Sed#else 23251034Sed# define SANITIZER_LINUX 0 24251034Sed#endif 25251034Sed 26251034Sed#if defined(__APPLE__) 27251034Sed# define SANITIZER_MAC 1 28274201Sdim# include <TargetConditionals.h> 29274201Sdim# if TARGET_OS_IPHONE 30274201Sdim# define SANITIZER_IOS 1 31274201Sdim# else 32274201Sdim# define SANITIZER_IOS 0 33274201Sdim# endif 34251034Sed#else 35251034Sed# define SANITIZER_MAC 0 36274201Sdim# define SANITIZER_IOS 0 37251034Sed#endif 38251034Sed 39251034Sed#if defined(_WIN32) 40251034Sed# define SANITIZER_WINDOWS 1 41251034Sed#else 42251034Sed# define SANITIZER_WINDOWS 0 43251034Sed#endif 44251034Sed 45251034Sed#if defined(__ANDROID__) || defined(ANDROID) 46251034Sed# define SANITIZER_ANDROID 1 47251034Sed#else 48251034Sed# define SANITIZER_ANDROID 0 49251034Sed#endif 50251034Sed 51251034Sed#define SANITIZER_POSIX (SANITIZER_LINUX || SANITIZER_MAC) 52251034Sed 53251034Sed#endif // SANITIZER_PLATFORM_H 54