lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] Possible wx-2.9.0-RC6 regression


From: Greg Chicares
Subject: [lmi] Possible wx-2.9.0-RC6 regression
Date: Mon, 20 Jul 2009 14:51:08 +0000
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Here's a vector of an incomplete type [see C++03, last
line of 17.4.3.6/2]:

/* clipbrd.h */
24  class WXDLLIMPEXP_FWD_CORE wxDataFormat;
117     wxVector<wxDataFormat> m_formats;

which is a problem [below] with libstdc++ debugging macros.
(I'm using MinGW gcc-3.4.5, BTW). I realize that this won't
link because I haven't built wx itself with those macros
defined, but I think that's a separate matter.

I suppose this should be fixed by adding
  #include "wx/dataobj.h"
to 'clipbrd.h', replacing these two lines:
24 class WXDLLIMPEXP_FWD_CORE wxDataFormat;
25 class WXDLLIMPEXP_FWD_CORE wxDataObject;

The compiler error doesn't occur if I include
  #include <wx/dataobj.h>
before
  #include <wx/clipbrd.h>
in lmi code. Here are the gcc-3.4.5 diagnostics:

/MinGW_/bin/g++  -MMD -MP -MT wx_utility.o -MF wx_utility.d  -c -I /lmi/src/lmi 
-I /lmi/src/lmi/tools/pete-2.1.1 -I 
/opt/lmi/local/lib/wx/include/i686-pc-mingw32-msw-unicode-release-2.9 -I
/opt/lmi/local/include/wx-2.9 -I /opt/lmi/third_party/include -I 
/opt/lmi/third_party/src -I /opt/lmi/local/include -I 
/opt/lmi/local/include/libxml2 -DLMI_WX_NEW_USE_SO  -DLIBXML_USE_DLL -DSTRICT
-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_GLIBCXX_CONCEPT_CHECKS 
-D_GLIBCPP_DEBUG -D_GLIBCPP_DEBUG_PEDANTIC -D_GLIBCPP_CONCEPT_CHECKS 
-D_GLIBXX_DEBUG_PEDANTIC   -D_LARGEFILE_SOURCE=unknown
-DWXUSINGDLL -D__WXMSW__ -DBOOST_STRICT_CONFIG   -std=gnu++98 -posix 
-pedantic-errors -Werror -Wall -Wcast-align -Wconversion 
-Wdeprecated-declarations -Wdisabled-optimization -Wimport -Wmultichar
-Wpacked -Wpointer-arith -Wsign-compare -Wundef -Wwrite-strings  -Wno-long-long 
-Wctor-dtor-privacy -Wdeprecated -Wnon-template-friend -Woverloaded-virtual 
-Wpmf-conversions -Wsynth
-Wno-uninitialized    -ggdb -O0   /lmi/src/lmi/wx_utility.cpp -owx_utility.o

In file included from /lmi/src/lmi/wx_utility.cpp:38:
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:
 In instantiation of `__gnu_cxx::_SGIAssignableConcept<wxDataFormat>':
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:144:
   instantiated from `__gnu_norm::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/debug/vector:46:
   instantiated from `__gnu_debug_def::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
/opt/lmi/local/include/wx-2.9/wx/clipbrd.h:117:   instantiated from here
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:216:
 error: `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a' has incomplete type
/opt/lmi/local/include/wx-2.9/wx/clipbrd.h:24: error: forward declaration of 
`struct wxDataFormat'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:
 In member function `void 
__gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp =
wxDataFormat]':
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:144:
   instantiated from `__gnu_norm::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/debug/vector:46:
   instantiated from `__gnu_debug_def::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
/opt/lmi/local/include/wx-2.9/wx/clipbrd.h:117:   instantiated from here
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:208:
 error: using invalid field `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:209:
 error: using invalid field `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:209:
 error: using invalid field `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:144:
   instantiated from `__gnu_norm::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/debug/vector:46:
   instantiated from `__gnu_debug_def::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
/opt/lmi/local/include/wx-2.9/wx/clipbrd.h:117:   instantiated from here
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:210:
 error: using invalid field `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:
 In member function `void 
__gnu_cxx::_SGIAssignableConcept<_Tp>::__const_constraints(const _Tp&)
[with _Tp = wxDataFormat]':
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:210:
   instantiated from `void 
__gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [with _Tp
= wxDataFormat]'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:144:
   instantiated from `__gnu_norm::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/debug/vector:46:
   instantiated from `__gnu_debug_def::vector<wxDataFormat, 
std::allocator<wxDataFormat> >'
/opt/lmi/local/include/wx-2.9/wx/clipbrd.h:117:   instantiated from here
C:/MinGW-20090203/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/boost_concept_check.h:214:
 error: using invalid field `__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
make[1]: *** [wx_utility.o] Error 1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]