Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bcc32 has problems compiling IDL_Test/Versioned_Namespace test #1939

Open
jwillemsen opened this issue Sep 20, 2022 · 7 comments
Open

bcc32 has problems compiling IDL_Test/Versioned_Namespace test #1939

jwillemsen opened this issue Sep 20, 2022 · 7 comments
Labels

Comments

@jwillemsen
Copy link
Member

jwillemsen commented Sep 20, 2022

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
@mitza-oci
Copy link
Member

Does it work with TAO 3?

@jwillemsen
Copy link
Member Author

bcc32 doesn't support C++11 so TAO3 can't be used with that compiler, only TAO2

@mitza-oci
Copy link
Member

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?

@jwillemsen
Copy link
Member Author

We don't have a public scoreboard build, sometimes I run an internal build. Not found time yet to find the exact cause

@mitza-oci
Copy link
Member

Does it work with an earlier release like 2.5.17 which was before the latest round of updates to valuetype code generation?

@jwillemsen
Copy link
Member Author

Not sure, the new versioned namespaces test for valuetype fails, before that I haven't seen this error

@jwillemsen
Copy link
Member Author

jwillemsen commented Nov 2, 2022

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

@jwillemsen jwillemsen added the bug label Feb 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants