\doxysection{defs.\+h}
\label{defs_8h_source}\index{include/osmocom/core/defs.h@{include/osmocom/core/defs.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{5 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{6 }
\DoxyCodeLine{19 \textcolor{preprocessor}{\#if defined \_\_GNUC\_\_ \&\& defined \_\_GNUC\_MINOR\_\_}}
\DoxyCodeLine{20 \textcolor{preprocessor}{\# define OSMO\_GNUC\_PREREQ(maj, min) \(\backslash\)}}
\DoxyCodeLine{21 \textcolor{preprocessor}{        ((\_\_GNUC\_\_ << 16) + \_\_GNUC\_MINOR\_\_ >= ((maj) << 16) + (min))}}
\DoxyCodeLine{22 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{23 \textcolor{preprocessor}{\# define OSMO\_GNUC\_PREREQ(maj, min) 0}}
\DoxyCodeLine{24 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{25 }
\DoxyCodeLine{28 \textcolor{preprocessor}{\#if defined(\_\_clang\_\_)}}
\DoxyCodeLine{29 \textcolor{preprocessor}{\# define \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED \_\_has\_attribute(deprecated)}}
\DoxyCodeLine{30 \textcolor{preprocessor}{\# define \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED\_WITH\_MESSAGE \_\_has\_extension(attribute\_deprecated\_with\_message)}}
\DoxyCodeLine{31 \textcolor{preprocessor}{\#elif defined(\_\_GNUC\_\_)}}
\DoxyCodeLine{32 \textcolor{preprocessor}{\# define \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED 1}}
\DoxyCodeLine{33 \textcolor{preprocessor}{\# define \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED\_WITH\_MESSAGE OSMO\_GNUC\_PREREQ(4,5)}}
\DoxyCodeLine{34 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{35 }
\DoxyCodeLine{36 \textcolor{preprocessor}{\#if \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED\_WITH\_MESSAGE}}
\DoxyCodeLine{37 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED(text)  \_\_attribute\_\_((\_\_deprecated\_\_(text)))}}
\DoxyCodeLine{38 \textcolor{preprocessor}{\#elif \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED}}
\DoxyCodeLine{39 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED(text)  \_\_attribute\_\_((\_\_deprecated\_\_))}}
\DoxyCodeLine{40 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{41 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED(text)}}
\DoxyCodeLine{42 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{43 }
\DoxyCodeLine{44 \textcolor{preprocessor}{\#if BUILDING\_LIBOSMOCORE}}
\DoxyCodeLine{45 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED\_OUTSIDE\_LIBOSMOCORE}}
\DoxyCodeLine{46 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED\_OUTSIDE(text)}}
\DoxyCodeLine{47 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{48 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED\_OUTSIDE\_LIBOSMOCORE OSMO\_DEPRECATED("{}For internal use inside libosmocore only."{}})}
\DoxyCodeLine{49 \textcolor{preprocessor}{\# define OSMO\_DEPRECATED\_OUTSIDE(text) OSMO\_DEPRECATED(text)}}
\DoxyCodeLine{50 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{51 }
\DoxyCodeLine{52 \textcolor{preprocessor}{\#undef \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED\_WITH\_MESSAGE}}
\DoxyCodeLine{53 \textcolor{preprocessor}{\#undef \_OSMO\_HAS\_ATTRIBUTE\_DEPRECATED}}
\DoxyCodeLine{54 }

\end{DoxyCode}
