--- parser3/src/include/pa_config_includes.h 2004/02/11 15:33:13 1.28 +++ parser3/src/include/pa_config_includes.h 2016/12/26 20:04:05 1.50 @@ -1,7 +1,7 @@ /** @file Parser: includes all Configure-d headers - Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2015 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,145 +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_MATH_H -# include +#ifdef HAVE_CTYPE_H +# include #endif -#include +#ifdef HAVE_MATH_H +# include +#endif -#ifdef HAVE_STRING_H -# include +#ifdef HAVE_PROCESS_H +# include #endif -#ifdef HAVE_DIRECT_H -# include +#ifdef HAVE_STDARG_H +# include #endif #ifdef HAVE_SETJMP_H -# include +# include #endif -#ifdef HAVE_MEMORY_H -# include +#ifdef HAVE_SIGNAL_H +# include #endif -#ifdef HAVE_NEW -#include +#ifdef HAVE_ERRNO_H +# include #endif -#ifdef HAVE_SYS_FILE_H -#include +#ifdef HAVE_DIRENT_H +# include #endif -#ifdef HAVE_SYS_LOCKING_H -#include +#ifdef HAVE_FCNTL_H +# include #endif -#ifdef HAVE_SYS_TYPES_H -#include +#ifdef HAVE_IO_H +# include #endif -#ifdef HAVE_SYS_SELECT_H -#include +#ifdef HAVE_SYS_FILE_H +# include #endif -#ifdef HAVE_SIGNAL_H -#include +#ifdef HAVE_SYS_LOCKING_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_SELECT_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 +#ifdef HAVE_SYS_RESOURCE_H +# include +#endif + +#ifdef HAVE_SYS_WAIT_H +# include #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 @@ -175,45 +186,39 @@ 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 -#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) - - -#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 +#ifdef WIN32 +#define THREAD_LOCAL __declspec(thread) +#else +#define THREAD_LOCAL // __thread // multithreading support required only for apache2 module #endif + +#if __clang__ +#pragma clang diagnostic ignored "-Wparentheses" // if(a=b) #endif +#if _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: +#if defined(_DEBUG) || defined(PA_RELEASE_ASSERTS) +//// this switches on straightforward realloc implementation, bad for profiling +//// note: this is incompatible with -DGC_ASSERTIONS, which can be switched ON in win32/gc/NT_THREADS_MAKEFILE +#define GC_DEBUG #endif #endif