1 /*
2  * This is compile-time test for situation below not happen.
3  * STLport use many defines and auxilary structures, namespaces and templates
4  * that included via _prolog.h. After preprocessor phase we may see:
5  *
6  * extern "C" {
7  *
8  * namespace std { }
9  *
10  *
11  * This is bad, but acceptable. But in STLPORT_DEBUG mode we can see
12  *
13  * extern "C" {
14  *
15  * namespace std {
16  * namespace private {
17  *
18  * template <class _Dummy>
19  * class __stl_debug_engine {
20  *
21  *
22  * This lead to compile-time error.
23  * [This due to sys/types.h contains
24  *
25  *  __BEGIN_DECLS
26  *  #include <bits/types.h>
27  *
28  *
29  * i.e. include other headers within extern "C" { scope. Bad, but this is fact.]
30  *
31  * Origin of problem: STLport provide proxy-headers as for C++ headers, as for C
32  * headers. For C headers, we shouldn't expose C++ constructions, because system
33  * headers may include each other by unexpected way (from STLport point of view).
34  *
35  *           - ptr, 2007-04-05
36  */
37 
38 #ifdef __unix
39 # include <sys/types.h>
40 #endif
41