ngx_cpp_test_module
diff --git a/auto/modules b/auto/modules
index 0c2a367..36ed53f 100644
--- a/auto/modules
+++ b/auto/modules
@@ -392,6 +392,11 @@
 fi
 
 
+if [ $NGX_CPP_TEST_MODULE = YES ]; then
+    NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
+fi
+
+
 cat << END                                    > $NGX_MODULES_C
 
 #include <ngx_config.h>
diff --git a/auto/options b/auto/options
index 1498243..b99e904 100644
--- a/auto/options
+++ b/auto/options
@@ -119,6 +119,7 @@
 USE_LIBXSLT=NO
 
 NGX_GOOGLE_PERFTOOLS=NO
+NGX_CPP_TEST=NO
 
 NGX_CPU_CACHE_LINE=
 
@@ -208,6 +209,7 @@
         --without-mail_smtp_module)      MAIL_SMTP=NO               ;;
 
         --with-google_perftools_module)  NGX_GOOGLE_PERFTOOLS=YES   ;;
+        --with-cpp_test_module)          NGX_CPP_TEST_MODULE=YES    ;;
 
         --add-module=*)                  NGX_ADDONS="$NGX_ADDONS $value" ;;
 
@@ -327,6 +329,7 @@
   --without-mail_smtp_module         disable ngx_mail_smtp_module
 
   --with-google_perftools_module     enable ngx_google_perftools_module
+  --with-cpp_test_module             enable ngx_cpp_test_module
 
   --add-module=PATH                  enable an external module
 
diff --git a/auto/sources b/auto/sources
index 82734dd..66859ae 100644
--- a/auto/sources
+++ b/auto/sources
@@ -474,3 +474,4 @@
 NGX_GOOGLE_PERFTOOLS_MODULE=ngx_google_perftools_module
 NGX_GOOGLE_PERFTOOLS_SRCS=src/misc/ngx_google_perftools_module.c
 
+NGX_CPP_TEST_SRCS=src/misc/ngx_cpp_test_module.cpp
diff --git a/src/misc/ngx_cpp_test_module.cpp b/src/misc/ngx_cpp_test_module.cpp
new file mode 100644
index 0000000..8f87dcd
--- /dev/null
+++ b/src/misc/ngx_cpp_test_module.cpp
@@ -0,0 +1,27 @@
+
+// stub module to test header files' C++ compatibilty
+
+extern "C" {
+  #include <ngx_config.h>
+  #include <ngx_core.h>
+  #include <ngx_event.h>
+  #include <ngx_event_connect.h>
+  #include <ngx_event_pipe.h>
+
+  #include <ngx_http.h>
+
+  #include <ngx_mail.h>
+  #include <ngx_mail_pop3_module.h>
+  #include <ngx_mail_imap_module.h>
+  #include <ngx_mail_smtp_module.h>
+}
+
+// nginx header files should go before other, because they define 64-bit off_t
+// #include <string>
+
+
+void
+ngx_cpp_test_handler(void *data)
+{
+    return;
+}