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#else 29# define SANITIZER_MAC 0 30#endif 31 32#if defined(_WIN32) 33# define SANITIZER_WINDOWS 1 34#else 35# define SANITIZER_WINDOWS 0 36#endif 37 38#if defined(__ANDROID__) || defined(ANDROID) 39# define SANITIZER_ANDROID 1 40#else 41# define SANITIZER_ANDROID 0 42#endif 43 44#define SANITIZER_POSIX (SANITIZER_LINUX || SANITIZER_MAC) 45 46#endif // SANITIZER_PLATFORM_H 47