X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint.h;fp=include%2Flttng%2Ftracepoint.h;h=8886e900a0511738895b1c9048e294dc6fc26f55;hb=780fc9ad99d9fe9c460886a40f724f333fd88148;hp=56249f6e74cc424d3b40170aea3671158fa6a2a4;hpb=a8fafb675a9f580f6a889223e26664ea11cb0c99;p=lttng-ust.git diff --git a/include/lttng/tracepoint.h b/include/lttng/tracepoint.h index 56249f6e..8886e900 100644 --- a/include/lttng/tracepoint.h +++ b/include/lttng/tracepoint.h @@ -405,8 +405,23 @@ __tracepoints__destroy(void) memset(tracepoint_dlopen_ptr, 0, sizeof(*tracepoint_dlopen_ptr)); } +#ifdef __cplusplus +} +#endif + +#endif /* _LTTNG_TRACEPOINT_H */ + +/* The following declarations must be outside re-inclusion protection. */ + #ifdef TRACEPOINT_DEFINE +#ifndef _LTTNG_UST_TRACEPOINT_DEFINE_ONCE +#define _LTTNG_UST_TRACEPOINT_DEFINE_ONCE + +#ifdef __cplusplus +extern "C" { +#endif + /* * These weak symbols, the constructor, and destructor take care of * registering only _one_ instance of the tracepoints per shared-ojbect @@ -439,6 +454,7 @@ extern struct lttng_ust_tracepoint * const __stop___tracepoints_ptrs[] */ #define _TP_EXTRACT_STRING(...) #__VA_ARGS__ +#undef _DEFINE_TRACEPOINT #define _DEFINE_TRACEPOINT(_provider, _name, _args) \ extern int __tracepoint_provider_##_provider; \ static const char __tp_strtab_##_provider##___##_name[] \ @@ -532,19 +548,18 @@ __tracepoints__ptrs_destroy(void) } } -#else /* TRACEPOINT_DEFINE */ - -#define _DEFINE_TRACEPOINT(_provider, _name, _args) - -#endif /* #else TRACEPOINT_DEFINE */ - #ifdef __cplusplus } #endif -#endif /* _LTTNG_TRACEPOINT_H */ +#endif /* _LTTNG_UST_TRACEPOINT_DEFINE_ONCE */ -/* The following declarations must be outside re-inclusion protection. */ +#else /* TRACEPOINT_DEFINE */ + +#undef _DEFINE_TRACEPOINT +#define _DEFINE_TRACEPOINT(_provider, _name, _args) + +#endif /* #else TRACEPOINT_DEFINE */ #ifndef TRACEPOINT_ENUM