blob: ab2c9a8b215ff1d74d72d417db24981b34651d4a [file] [log] [blame]
/*
* This is compile-time test for situation below not happen.
* STLport use many defines and auxilary structures, namespaces and templates
* that included via _prolog.h. After preprocessor phase we may see:
*
* extern "C" {
*
* namespace std { }
*
*
* This is bad, but acceptable. But in STLPORT_DEBUG mode we can see
*
* extern "C" {
*
* namespace std {
* namespace private {
*
* template <class _Dummy>
* class __stl_debug_engine {
*
*
* This lead to compile-time error.
* [This due to sys/types.h contains
*
* __BEGIN_DECLS
* #include <bits/types.h>
*
*
* i.e. include other headers within extern "C" { scope. Bad, but this is fact.]
*
* Origin of problem: STLport provide proxy-headers as for C++ headers, as for C
* headers. For C headers, we shouldn't expose C++ constructions, because system
* headers may include each other by unexpected way (from STLport point of view).
*
* - ptr, 2007-04-05
*/
#ifdef __unix
# include <sys/types.h>
#endif