diff options
| author | Baker Linden <baker@lindenlab.com> | 2014-05-08 14:00:55 -0700 |
|---|---|---|
| committer | Baker Linden <baker@lindenlab.com> | 2014-05-08 14:00:55 -0700 |
| commit | 37bfd025aeef7292abb1708577eee80b6e1b91d5 (patch) | |
| tree | 3dab7c728f3a4b67eae30cbbf838dec8747c5e6e /indra/llcommon/llpreprocessor.h | |
| parent | 1cf659d4481983684c4d5d749d95d56832dbc621 (diff) | |
| parent | d0ef02c23a7a37c8c9bfe3a86bae88bb811fc9fe (diff) | |
viewer-release merge (to 3.7.8)
Diffstat (limited to 'indra/llcommon/llpreprocessor.h')
| -rwxr-xr-x | indra/llcommon/llpreprocessor.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h index 7fdb537ab5..309165da7f 100755 --- a/indra/llcommon/llpreprocessor.h +++ b/indra/llcommon/llpreprocessor.h @@ -181,4 +181,25 @@ # define LL_COMMON_API #endif // LL_COMMON_LINK_SHARED +#if LL_WINDOWS +#define LL_TYPEOF(exp) decltype(exp) +#elif LL_LINUX +#define LL_TYPEOF(exp) typeof(exp) +#elif LL_DARWIN +#define LL_TYPEOF(exp) typeof(exp) +#endif + +#define LL_TO_STRING_HELPER(x) #x +#define LL_TO_STRING(x) LL_TO_STRING_HELPER(x) +#define LL_FILE_LINENO_MSG(msg) __FILE__ "(" LL_TO_STRING(__LINE__) ") : " msg +#define LL_GLUE_IMPL(x, y) x##y +#define LL_GLUE_TOKENS(x, y) LL_GLUE_IMPL(x, y) + +#if LL_WINDOWS +#define LL_COMPILE_TIME_MESSAGE(msg) __pragma(message(LL_FILE_LINENO_MSG(msg))) +#else +// no way to get gcc 4.2 to print a user-defined diagnostic message only when a macro is used +#define LL_COMPILE_TIME_MESSAGE(msg) +#endif + #endif // not LL_LINDEN_PREPROCESSOR_H |
