|
|
| version 1.55, 2017/12/03 23:36:23 | version 1.67, 2020/12/17 13:37:58 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: includes all Configure-d headers | Parser: includes all Configure-d headers |
| Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) | Copyright (c) 2001-2020 Art. Lebedev Studio (http://www.artlebedev.com) |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| when used Configure [HAVE_CONFIG_H] it uses defines from Configure, | when used Configure [HAVE_CONFIG_H] it uses defines from Configure, |
| Line 96 | Line 96 |
| # include <signal.h> | # include <signal.h> |
| #endif | #endif |
| #ifdef HAVE_PTHREAD_H | |
| # include <pthread.h> | |
| #endif | |
| #ifdef HAVE_ERRNO_H | #ifdef HAVE_ERRNO_H |
| # include <errno.h> | # include <errno.h> |
| #endif | #endif |
| Line 201 inline size_t min(size_t a, size_t b){ r | Line 205 inline size_t min(size_t a, size_t b){ r |
| #else | #else |
| #include "gc.h" | // allows to backtrace pointers |
| //#define GC_DEBUG | |
| #include "../lib/gc/include/gc.h" | |
| #endif // PA_DEBUG_DISABLE_GC | #endif // PA_DEBUG_DISABLE_GC |
| Line 215 inline size_t min(size_t a, size_t b){ r | Line 222 inline size_t min(size_t a, size_t b){ r |
| #ifdef WIN32 | #ifdef WIN32 |
| #define THREAD_LOCAL __declspec(thread) | #define THREAD_LOCAL __declspec(thread) |
| #else | #else |
| #define THREAD_LOCAL // __thread // multithreading support required only for apache2 module | #ifdef HAVE_TLS |
| #define THREAD_LOCAL __thread | |
| #else | |
| #define THREAD_LOCAL | |
| #endif | |
| #endif | #endif |
| #ifdef __clang__ | #ifdef __clang__ |
| #pragma clang diagnostic ignored "-Wparentheses" // if(a=b) | #pragma clang diagnostic ignored "-Wparentheses" // if(a=b) |
| #pragma clang diagnostic ignored "-Wpointer-sign" // CORD (unsigned char *) to char * in libcord | #pragma clang diagnostic ignored "-Wpointer-sign" // CORD (unsigned char *) to char * in libcord |
| #pragma clang diagnostic ignored "-Winline-new-delete" // test for regular new/delete usage in memory.h | #pragma clang diagnostic ignored "-Winline-new-delete" // test for regular new/delete usage in memory.h |
| #pragma clang diagnostic ignored "-Wdeprecated-register" // 'register' specifier is deprecated and incompatible with C++17 | |
| #elif defined(__GNUC__) | |
| #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" // case without break | |
| #endif | #endif |
| #ifdef _MSC_VER | #ifdef _MSC_VER |
| // VS 2003 | |
| #pragma warning(disable:4355) // using this in calls to parent constructors | #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: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: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:4127) // conditional expression is constant; while(true) OK |
| #pragma warning(disable:4706) // assignment within conditional expression if(type var=somethig) OK | #pragma warning(disable:4706) // assignment within conditional expression if(type var=somethig) OK |
| #pragma warning(disable:4996) // memcpy deprecation | #pragma warning(disable:4996) // memcpy deprecation |
| #pragma warning(disable:4702) // unreachable code | #pragma warning(disable:4702) // unreachable code |
| #pragma warning(disable:4511) // copy constructor could not be generated (vs2003 specific) | #pragma warning(disable:4511) // copy constructor could not be generated (vs2003 specific) |
| #endif | // VS 2015 |
| #pragma warning(disable:4267) // conversion from 'size_t' to 'int', possible loss of data | |
| /// 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 |
| #endif | #endif |