--- parser3/src/include/pa_config_includes.h 2012/06/09 10:55:35 1.35 +++ parser3/src/include/pa_config_includes.h 2017/02/08 13:05:46 1.52 @@ -1,7 +1,7 @@ /** @file Parser: includes all Configure-d headers - Copyright (c) 2001-2012 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) when used Configure [HAVE_CONFIG_H] it uses defines from Configure, @@ -11,149 +11,156 @@ #ifndef PA_CONFIG_INCLUDES_H #define PA_CONFIG_INCLUDES_H -#if _MSC_VER -# pragma warning(disable:4291) // disable warning -// "no matching operator delete found; memory will not be freed if initialization throws an exception -#endif - #if HAVE_CONFIG_H -# include "pa_config_auto.h" +# include "pa_config_auto.h" #else -# include "pa_config_fixed.h" +# include "pa_config_fixed.h" #endif -#ifdef __cplusplus -# undef inline +// AC_INCLUDES_DEFAULT + +#ifdef HAVE_STDIO_H +# include #endif -#ifdef HAVE_ASSERT_H -# include +#ifdef HAVE_SYS_TYPES_H +# include #endif -#ifdef HAVE_CTYPE_H -# include +#ifdef HAVE_SYS_STAT_H +# include #endif -#ifdef HAVE_ERRNO_H -# include +#ifdef HAVE_STDLIB_H +# include #endif -#ifdef HAVE_FCNTL_H -# include +#ifdef HAVE_STDDEF_H +# include #endif -#ifdef HAVE_IO_H -# include +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include #endif -#ifdef HAVE_PROCESS_H -# include +#ifdef HAVE_STRINGS_H +# include #endif -#ifdef HAVE_STDARG_H -# include +#ifdef HAVE_INTTYPES_H +# include #endif -#ifdef HAVE_STDDEF_H -# include +#ifdef HAVE_STDINT_H +# include #endif -#ifdef HAVE_STDIO_H -# include +#ifdef HAVE_UNISTD_H +# include #endif -#ifdef HAVE_SYS_STAT_H -# include +// other includes + +#ifdef HAVE_ASSERT_H +# include #endif -#if defined(HAVE_UNISTD_H) && !defined(NO_UNISTD_H) -# include +#ifdef HAVE_LIMITS_H +# include +#endif + +#ifdef HAVE_CTYPE_H +# include #endif #ifdef HAVE_MATH_H -# include +# include #endif -#include +#ifdef HAVE_PROCESS_H +# include +#endif -#ifdef HAVE_STRING_H -# include +#ifdef HAVE_STDARG_H +# include #endif -#ifdef HAVE_LIMITS_H -#include +#ifdef HAVE_SETJMP_H +# include #endif -#ifdef HAVE_DIRECT_H -# include +#ifdef HAVE_SIGNAL_H +# include #endif -#ifdef HAVE_SETJMP_H -# include +#ifdef HAVE_ERRNO_H +# include +#endif + +#ifdef HAVE_DIRENT_H +# include #endif -#ifdef HAVE_MEMORY_H -# include +#ifdef HAVE_FCNTL_H +# include #endif -#ifdef HAVE_NEW -#include +#ifdef HAVE_IO_H +# include #endif #ifdef HAVE_SYS_FILE_H -#include +# include #endif #ifdef HAVE_SYS_LOCKING_H -#include -#endif - -#ifdef HAVE_SYS_TYPES_H -#include +# include #endif #ifdef HAVE_SYS_SELECT_H -#include +# include #endif -#ifdef HAVE_SIGNAL_H -#include +#ifdef HAVE_SYS_RESOURCE_H +# include #endif -#ifdef HAVE_SYS_SOCKET_H -# include -#else -# if defined(HAVE_WINSOCK_H) && !defined(_MSC_VER) && !defined(CYGWIN) -# include -# endif +#ifdef HAVE_SYS_WAIT_H +# include #endif -// must go anywhere after winsock [cygwin time.h checks for already inclusion of winsock.h] -#if TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif +#ifdef HAVE_SYS_SOCKET_H +# include +#endif #ifdef HAVE_NETINET_IN_H -#include +# include #endif #ifdef HAVE_ARPA_INET_H -#include +# include #endif #ifdef HAVE_NETDB_H -#include +# include #endif +#if TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + // math function replacements #ifdef __cplusplus @@ -179,62 +186,32 @@ inline size_t min(size_t a, size_t b){ r #endif +#if defined(__GNUC__) +# define PA_ATTR_UNUSED __attribute__((unused)) +#else +# define PA_ATTR_UNUSED +#endif + #ifdef WIN32 #define THREAD_LOCAL __declspec(thread) #else #define THREAD_LOCAL // __thread // multithreading support required only for apache2 module #endif -#if _MSC_VER -// using this in calls to parent constructors -#pragma warning(disable:4355) - -//# pragma warning(disable:4065) // switch statement contains 'default' - // but no 'case' labels -//# pragma warning(disable:4800) // (bool)(1&2) - -// assignment operator could not be generated -//#pragma warning(disable:4512) - -// identifier was truncated to '255' characters in the debug information -#pragma warning(disable:4786) - -// copy constructor could not be generated -#pragma warning(disable:4511) - -// assignment operator could not be generated -#pragma warning(disable:4512) - -// unreferenced local function has been removed -#pragma warning(disable:4505) - -// conditional expression is constant; while(true) OK -#pragma warning(disable:4127) - -// assignment within conditional expression if(type var=somethig) OK -#pragma warning(disable:4706) - -// memcpy deprecation -#pragma warning(disable:4996) - - -#if 0 -#ifdef _DEBUG -# define _CRTDBG_MAP_ALLOC -// When the _CRTDBG_MAP_ALLOC flag is defined in the debug version of an application, -// the base version of the heap functions are directly mapped to their debug versions -#endif -#endif - +#if __clang__ +#pragma clang diagnostic ignored "-Wparentheses" // if(a=b) #endif -#ifdef PA_RELEASE_ASSERTS -// this helps to remove warnings on helper-to-assert variables -#undef NDEBUG -// pa_globals.C -void pa_release_assert(const char* str, const char* file, int line); -#undef assert -#define assert(exp) (void)( (exp) || (pa_release_assert(#exp, __FILE__, __LINE__), 0) ) +#ifdef _MSC_VER +#pragma warning(disable:4355) // using this in calls to parent constructors +#pragma warning(disable:4291) // no matching operator delete found; memory will not be freed if initialization throws an exception +#pragma warning(disable:4512) // assignment operator could not be generated +#pragma warning(disable:4505) // unreferenced local function has been removed +#pragma warning(disable:4127) // conditional expression is constant; while(true) OK +#pragma warning(disable:4706) // assignment within conditional expression if(type var=somethig) OK +#pragma warning(disable:4996) // memcpy deprecation +#pragma warning(disable:4702) // unreachable code +#pragma warning(disable:4511) // copy constructor could not be generated (vs2003 specific) #endif /// to debug backtrace pointers switch this on: