From 97281fd4454596834142fa43f83af38695b38e5b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 5 May 2014 15:02:44 -0700 Subject: GCC 4.9.0 compatibility fixes --- odb/gcc-fwd.hxx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'odb/gcc-fwd.hxx') diff --git a/odb/gcc-fwd.hxx b/odb/gcc-fwd.hxx index d459a9d..38f9819 100644 --- a/odb/gcc-fwd.hxx +++ b/odb/gcc-fwd.hxx @@ -5,8 +5,26 @@ #ifndef ODB_GCC_FWD_HXX #define ODB_GCC_FWD_HXX +#include + +#if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 8 +# include // CHAR_BIT +# include +#endif + extern "C" { +// The hwint.h header uses gcc_checking_assert macro from system.h. But +// if we include system.h here, it pulls in all kinds of GCC trouble that +// "poisons" standard C/C++ declarations (see safe-ctype.h for an example). +// Instead we are just going to provide the no-op definition of this macro. +// +#if BUILDING_GCC_MAJOR > 4 || BUILDING_GCC_MAJOR == 4 && BUILDING_GCC_MINOR > 8 +# define gcc_checking_assert(expr) ((void)(0 & (expr))) +# include +# undef gcc_checking_assert +#endif + #include typedef unsigned int source_location; // -- cgit v1.1