echelon  0.8.0
macros.hpp
1 // Copyright (c) 2013-2014 Christopher Hinz
2 //
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 #ifndef ECHELON_MACROS_HPP
7 #define ECHELON_MACROS_HPP
8 
9 #ifdef __GNUC__
10 
11 #define ECHELON_UNUSED(x) x __attribute__((unused))
12 
13 #ifdef NDEBUG
14 
15 #define ECHELON_UNUSED_RELEASE(x) ECHELON_UNUSED(x)
16 
17 #else
18 
19 #define ECHELON_UNUSED_RELEASE(x) x
20 
21 #endif
22 
23 #else
24 
25 #error "unused attribute not supported"
26 
27 #endif
28 
29 #endif