--- parser3/src/include/pa_config_includes.h 2001/04/05 16:30:41 1.2 +++ parser3/src/include/pa_config_includes.h 2024/12/23 16:59:17 1.76 @@ -1,13 +1,266 @@ +/** @file + Parser: includes all Configure-d headers + + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian + + when used Configure [HAVE_CONFIG_H] it uses defines from Configure, + fixed otherwise. +*/ + +#ifndef PA_CONFIG_INCLUDES_H +#define PA_CONFIG_INCLUDES_H + #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 HAVE_STDARG_H -# include +// AC_INCLUDES_DEFAULT + +#ifdef HAVE_STDIO_H +# include +#endif + +#ifdef HAVE_SYS_TYPES_H +# include +#endif + +#ifdef HAVE_SYS_STAT_H +# include +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif + +#ifdef HAVE_STDDEF_H +# include +#endif + +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif + +#ifdef HAVE_STRINGS_H +# include +#endif + +#ifdef HAVE_INTTYPES_H +# include +#endif + +#ifdef HAVE_STDINT_H +# include #endif #ifdef HAVE_UNISTD_H -# include +# include +#endif + +// other includes + +#ifdef HAVE_ASSERT_H +# include +#endif + +#ifdef HAVE_LIMITS_H +# include +#endif + +#ifdef HAVE_CTYPE_H +# include +#endif + +#ifdef HAVE_MATH_H +# include +#endif + +#ifdef HAVE_PROCESS_H +# include +#endif + +#ifdef HAVE_STDARG_H +# include +#endif + +#ifdef HAVE_SETJMP_H +# include +#endif + +#ifdef HAVE_SIGNAL_H +# include +#endif + +#ifdef HAVE_PTHREAD_H +# include +#endif + +#ifdef HAVE_ERRNO_H +# include +#endif + +#ifdef HAVE_DIRENT_H +# include +#endif + +#ifdef HAVE_FCNTL_H +# include +#endif + +#ifdef HAVE_IO_H +# include +#endif + +#ifdef HAVE_SYS_FILE_H +# include +#endif + +#ifdef HAVE_SYS_LOCKING_H +# include +#endif + +#ifdef HAVE_SYS_SELECT_H +# 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 +#endif + +#ifdef HAVE_ARPA_INET_H +# include +#endif + +#ifdef HAVE_NETDB_H +# include +#endif + + +#if TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#ifdef HAVE_PCRE2 +#define PCRE2_CODE_UNIT_WIDTH 8 +#endif + +// math function replacements + +#ifdef __cplusplus + +#ifndef HAVE_TRUNC +inline double trunc(double param) { return param > 0? floor(param) : ceil(param); } +#endif + +#ifndef HAVE_ROUND +inline double round(double param) { return floor(param+0.5); } +#endif + +#ifndef HAVE_SIGN +inline double sign(double param) { return param > 0 ? 1 : ( param < 0 ? -1 : 0 ); } +#endif + +#if !defined(max) +inline int max(int a, int b) { return a>b ? a : b; } +inline int min(int a, int b){ return ab ? a : b; } +inline size_t min(size_t a, size_t b){ return a= 7) +#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" // case without break + +#endif + +#ifdef _MSC_VER +// VS 2003 +#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: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) +// VS 2015 +#pragma warning(disable:4267) // conversion from 'size_t' to 'int', possible loss of data +#endif + #endif