sming_attr.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * sming_attr.h - low-level attribute definitions common to all architectures
8  *
9  ****/
10 
11 #pragma once
12 
13 #define __forceinline __attribute__((always_inline)) inline
14 
15 // Weak attributes don't work for PE
16 #ifdef __WIN32
17 #define WEAK_ATTR
18 #else
19 #define WEAK_ATTR __attribute((weak))
20 #endif
21 
22 /*
23  * Use this definition in the cases where a function or a variable is meant to be possibly unused. GCC will not produce a warning for it.
24  */
25 #define SMING_UNUSED __attribute__((unused))
26 
27 /*
28  * Flags a compiler warning when Sming framework methods, functions or types are changed
29  */
30 #define SMING_DEPRECATED __attribute__((deprecated))