ACE_TAO
ACE_TAO copied to clipboard
bcc32 has problems compiling IDL_Test/Versioned_Namespace test
Version
Using ace6tao2 branch the bcc32 compiler (Borland C++ Builder) has a problem compiling the Versioned_Namespace test
bcc32 -O1 -DNDEBUG -tWM -q -tWR -tWD -a8 -DMPC_LIB_MODIFIER=\"_br\" -DWIN32 -D_WINDOWS -I"X:\BUILD\DOC_ROOT\ACE" -I"..\..\.." -D_NO_VCL -w-rvl -w-rch -w-ccc -w-obs -w-aus -w-pia -w-inl -w-mls -c -nRelease\IDL_Test_Versioned_Namespace\ .\TestVersionedNamespaceC.cpp
.\TestVersionedNamespaceC.cpp:
Error E2038 .\TestVersionedNamespaceC.inl 34: Cannot declare or define 'M1::V::V()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.inl 38: Cannot declare or define 'M1::V::_tao_obv_static_repository_id()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 129: Cannot declare or define 'M1::LI::LI()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 132: Cannot declare or define '~M1::LI::LI()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 138: Cannot declare or define 'M1::LI::_narrow(CORBA::Object *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 146: Cannot declare or define 'M1::LI::_unchecked_narrow(CORBA::Object *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 153: Cannot declare or define 'M1::LI::_nil()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 159: Cannot declare or define 'M1::LI::_duplicate(M1::LI *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 169: Cannot declare or define 'M1::LI::_tao_release(M1::LI *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 175: Cannot declare or define 'M1::LI::_is_a(const char *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 200: Cannot declare or define 'M1::LI::_interface_repository_id() const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 206: Cannot declare or define 'M1::LI::marshal(TAO_OutputCDR &)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 297: Cannot declare or define 'M1::V::_downcast(CORBA::ValueBase *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 303: Cannot declare or define 'M1::V::_tao_obv_repository_id() const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 309: Cannot declare or define 'M1::V::_tao_obv_truncatable_repo_ids(ACE_Vector<ACE_CString,32> &) const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 315: Cannot declare or define 'M1::V::_tao_type() const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 320: Cannot declare or define '~M1::V::V()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 324: Cannot declare or define 'M1::V::_tao_marshal_v(TAO_OutputCDR &) const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 330: Cannot declare or define 'M1::V::_tao_unmarshal_v(TAO_InputCDR &)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 336: Cannot declare or define 'M1::V::_tao_match_formal_type(int) const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 345: Cannot declare or define 'M1::V::_tao_unmarshal(TAO_InputCDR &,M1::V * &)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 387: Cannot declare or define 'M1::V_init::V_init()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 391: Cannot declare or define '~M1::V_init::V_init()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 396: Cannot declare or define 'M1::V_init::_downcast(CORBA::ValueFactoryBase *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 402: Cannot declare or define 'M1::V_init::tao_repository_id()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 408: Cannot declare or define 'M1::V_init::create_for_unmarshal()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 421: Cannot declare or define 'OBV_M1::V::V()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 428: Cannot declare or define 'OBV_M1::V::V(const char *,const M1::S1 &,M1::LI *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 436: Cannot declare or define '~OBV_M1::V::V()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 440: Cannot declare or define 'OBV_M1::V::_copy_value()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 459: Cannot declare or define 'OBV_M1::V::valString(char *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 466: Cannot declare or define 'OBV_M1::V::valString(const char *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 474: Cannot declare or define 'OBV_M1::V::valString(const CORBA::String_var &)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 481: Cannot declare or define 'OBV_M1::V::valString() const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 490: Cannot declare or define 'OBV_M1::V::valStruct(const M1::S1 &)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 496: Cannot declare or define 'OBV_M1::V::valStruct() const' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 502: Cannot declare or define 'OBV_M1::V::valStruct()' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 511: Cannot declare or define 'OBV_M1::V::valLocalIface(M1::LI *)' here: wrong namespace
Error E2038 .\TestVersionedNamespaceC.cpp 519: Cannot declare or define 'OBV_M1::V::valLocalIface() const' here: wrong namespace
Does it work with TAO 3?
bcc32 doesn't support C++11 so TAO3 can't be used with that compiler, only TAO2
So this compiler requires all uses of Scope::Class::Function
changed to just Class::Function
within a block of namespace Scope {...}
?
Do we have a scoreboard build or GitHub Actions set up using this compiler?
We don't have a public scoreboard build, sometimes I run an internal build. Not found time yet to find the exact cause
Does it work with an earlier release like 2.5.17 which was before the latest round of updates to valuetype code generation?
Not sure, the new versioned namespaces test for valuetype fails, before that I haven't seen this error
Embarcadero mentions this is a C++11 feature, the only thing that works is to use namespace A
instead of A::
. This could be something that more older compilers have a problem with