blob: e2ccdafbbc5f7362ba53aff36e9c301620acb0a1 [file] [log] [blame]
#pragma once
#ifndef GEODE_GFCPP_GFCPP_GLOBALS_H_
#define GEODE_GFCPP_GFCPP_GLOBALS_H_
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file
*/
#ifdef WIN32
#ifndef _WIN32
#define _WIN32
#endif
#endif
#ifdef _WIN32
#ifndef WIN32
#define WIN32
#endif
#endif
#ifdef __linux
#ifndef _LINUX
#define _LINUX 1
#endif
#ifndef LINUX_GCC
#define LINUX_GCC true
#endif
#endif
#ifdef __sun
#ifndef _SOLARIS
#define _SOLARIS 1
#if defined(__sparc) || defined(__sparcv9)
#ifndef _SPARC_SOLARIS
#define _SPARC_SOLARIS 1
#endif
#endif
#if defined(__i386) || defined(__amd64)
#ifndef _X86_SOLARIS
#define _X86_SOLARIS 1
#endif
#endif
#endif
#endif
#ifdef _MSC_VER
// disable: "C++ Exception Specification ignored"
// This is because MSVC did not implement all the C++ exception
// specifications in the ANSI C++ draft.
#pragma warning(disable : 4290)
// Turn off warnings generated by lengthy std templates
// This warns about truncation to 255 characters in debug/browse info
#pragma warning(disable : 4786)
// disable: "<type> needs to have dll-interface to be used by clients'
// Happens on STL member variables which are not public therefore is ok
#pragma warning(disable : 4251)
// MSVC does not use __attribute__.
#define ATTR_UNUSED
#else
#ifdef _SOLARIS
// Solaris does not __attribute__.
#define ATTR_UNUSED
#else
// gcc and clang use __attribute__.
#define ATTR_UNUSED __attribute__((unused))
#endif
#endif
#ifdef _WIN32
#if WINVER == 0x0500
#endif
#endif
#include "gf_base.hpp"
namespace apache {
namespace geode {
namespace client {
extern void CPPCACHE_EXPORT millisleep(uint32_t millis);
#ifdef _WIN32
extern void CPPCACHE_EXPORT setNewAndDelete(pNew, pDelete);
#endif
} // namespace client
} // namespace geode
} // namespace apache
#include "Log.hpp"
#include "Assert.hpp"
#endif // GEODE_GFCPP_GFCPP_GLOBALS_H_