mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
71c23d8716
We don't support stlport anymore, we don't use any of these macros, and even if we did, there are probably better ways to do what we want than by depending on the subtleties of how C++ standard libraries version themselves. Differential Revision: https://phabricator.services.mozilla.com/D43677 --HG-- extra : moz-landing-system : lando
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* Various compiler checks. */
|
|
|
|
#ifndef mozilla_Compiler_h
|
|
#define mozilla_Compiler_h
|
|
|
|
#define MOZ_IS_GCC 0
|
|
|
|
#if !defined(__clang__) && defined(__GNUC__)
|
|
|
|
# undef MOZ_IS_GCC
|
|
# define MOZ_IS_GCC 1
|
|
/*
|
|
* These macros should simplify gcc version checking. For example, to check
|
|
* for gcc 4.7.1 or later, check `#if MOZ_GCC_VERSION_AT_LEAST(4, 7, 1)`.
|
|
*/
|
|
# define MOZ_GCC_VERSION_AT_LEAST(major, minor, patchlevel) \
|
|
((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \
|
|
((major)*10000 + (minor)*100 + (patchlevel)))
|
|
# define MOZ_GCC_VERSION_AT_MOST(major, minor, patchlevel) \
|
|
((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) <= \
|
|
((major)*10000 + (minor)*100 + (patchlevel)))
|
|
# if !MOZ_GCC_VERSION_AT_LEAST(6, 1, 0)
|
|
# error "mfbt (and Gecko) require at least gcc 6.1 to build."
|
|
# endif
|
|
|
|
#endif
|
|
|
|
#endif /* mozilla_Compiler_h */
|