Files
rgbds/include/helpers.h
Antonio Niño Díaz 0ae69b3114 Rename stdnoreturn.h to helpers.h
This file will contain more compiler-specific helpers.

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
2018-04-02 22:53:48 +01:00

39 lines
782 B
C

/*
* This file is part of RGBDS.
*
* Copyright (c) 2014-2018, RGBDS contributors.
*
* SPDX-License-Identifier: MIT
*/
#ifndef HELPERS_H
#define HELPERS_H
#if defined(__STDC_VERSION__)
#if __STDC_VERSION__ >= 201112L
/* C11 or newer */
#define noreturn _Noreturn
#endif
#endif
#if defined(__GNUC__) && !defined(noreturn)
#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ >= 5))
/* GCC 2.5 or newer */
#define noreturn __attribute__ ((noreturn))
#endif
#endif
#if defined(_MSC_VER) && !defined(noreturn)
#if _MSC_VER >= 1310
/* MS Visual Studio 2003/.NET Framework 1.1 or newer */
#define noreturn _declspec(noreturn)
#endif
#endif
#if !defined(noreturn)
/* Unsupported, but no need to throw a fit */
#define noreturn
#endif
#endif /* HELPERS_H */