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