first commit
This commit is contained in:
40
extern/STLport/5.2.1/test/unit/stldbg_include.cpp
vendored
Normal file
40
extern/STLport/5.2.1/test/unit/stldbg_include.cpp
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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
|
||||
Reference in New Issue
Block a user