[lttng-dev] [PATCH lttng-tools] Fix: Define __STDC_LIMIT_MACROS to fix C++ builds

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Feb 8 10:43:48 EST 2014


----- Original Message -----
> From: "Jérémie Galarneau" <jeremie.galarneau at efficios.com>
> To: lttng-dev at lists.lttng.org
> Sent: Friday, February 7, 2014 6:32:21 PM
> Subject: [lttng-dev] [PATCH lttng-tools] Fix: Define __STDC_LIMIT_MACROS to	fix C++ builds
> 
> Necessary to include the fixed-width type limits on glibc versions
> older than 2.18 when building with a C++ compiler.
> 
> Signed-off-by: Jérémie Galarneau <jeremie.galarneau at efficios.com>
> ---
>  include/lttng/lttng.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h
> index 18dec2a..2d410fa 100644
> --- a/include/lttng/lttng.h
> +++ b/include/lttng/lttng.h
> @@ -23,7 +23,13 @@
>  #define LTTNG_H
>  
>  #include <limits.h>
> +/*
> + * Necessary to include the fixed width type limits on glibc versions older
> + * than 2.18 when building with a C++ compiler.
> + */
> +#define __STDC_LIMIT_MACROS
>  #include <stdint.h>
> +#undef __STDC_LIMIT_MACROS

This has a side-effect: it undefines the __STDC_LIMIT_MACROS if it was
defined prior to including this header. It should be:

#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#include <stdint.h>
#undef __STDC_LIMIT_MACROS
#else /* #ifndef __STDC_LIMIT_MACROS */
#include <stdint.h>
#endif /* #else #ifndef __STDC_LIMIT_MACROS */

Thanks,

Mathieu

>  #include <sys/types.h>
>  
>  /* Error codes that can be returned by API calls */
> --
> 1.8.5.2
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list