Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
attribute_fallthrough.hpp
Go to the documentation of this file.
1 /*******************************************************************************
2  * tlx/define/attribute_fallthrough.hpp
3  *
4  * Part of tlx - http://panthema.net/tlx
5  *
6  * Copyright (C) 2015-2017 Timo Bingmann <[email protected]>
7  *
8  * All rights reserved. Published under the Boost Software License, Version 1.0
9  ******************************************************************************/
10 
11 #ifndef TLX_DEFINE_ATTRIBUTE_FALLTHROUGH_HEADER
12 #define TLX_DEFINE_ATTRIBUTE_FALLTHROUGH_HEADER
13 
14 namespace tlx {
15 
16 /******************************************************************************/
17 // __attribute__ ((fallthrough))
18 
19 #if defined(__GNUC__) && __GNUC__ >= 7
20 #define TLX_ATTRIBUTE_FALLTHROUGH __attribute__ ((fallthrough))
21 #elif defined(__clang__)
22 #define TLX_ATTRIBUTE_FALLTHROUGH [[clang::fallthrough]]
23 #else
24 #define TLX_ATTRIBUTE_FALLTHROUGH
25 #endif
26 
27 } // namespace tlx
28 
29 #endif // !TLX_DEFINE_ATTRIBUTE_FALLTHROUGH_HEADER
30 
31 /******************************************************************************/