Home | History | Annotate | Download | only in unit
      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