sanitizer_platform.h revision 274201
1//===-- sanitizer_platform.h ------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// Common platform macros. 11//===----------------------------------------------------------------------===// 12 13#ifndef SANITIZER_PLATFORM_H 14#define SANITIZER_PLATFORM_H 15 16#if !defined(__linux__) && !defined(__APPLE__) && !defined(_WIN32) 17# error "This operating system is not supported" 18#endif 19 20#if defined(__linux__) 21# define SANITIZER_LINUX 1 22#else 23# define SANITIZER_LINUX 0 24#endif 25 26#if defined(__APPLE__) 27# define SANITIZER_MAC 1 28# include <TargetConditionals.h> 29# if TARGET_OS_IPHONE 30# define SANITIZER_IOS 1 31# else 32# define SANITIZER_IOS 0 33# endif 34#else 35# define SANITIZER_MAC 0 36# define SANITIZER_IOS 0 37#endif 38 39#if defined(_WIN32) 40# define SANITIZER_WINDOWS 1 41#else 42# define SANITIZER_WINDOWS 0 43#endif 44 45#if defined(__ANDROID__) || defined(ANDROID) 46# define SANITIZER_ANDROID 1 47#else 48# define SANITIZER_ANDROID 0 49#endif 50 51#define SANITIZER_POSIX (SANITIZER_LINUX || SANITIZER_MAC) 52 53#endif // SANITIZER_PLATFORM_H 54