OpenCPI v2.0.0 get/setProperty() errors

BP
Brian Padalino
Wed, Oct 7, 2020 11:07 PM

I am trying to compile a program that used to work in OpenCPI v1.7.0, but
appears to error out with lots of errors regarding dereferencing a pointer
for property access.  Specifically (worker is tgc_proxy.rcc):

In file included from tgc_proxy.cc:1:0:
gen/tgc_proxy-worker.hh: In member function ‘const char*
Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::getProperty_SPI_MUX_OVERRIDE(std::__cxx11::string&,
OCPI::API::AccessList&, OCPI::API::PropertyOptionList&,
OCPI::API::PropertyAttributes*)’:
gen/tgc_proxy-worker.hh:118:16: error: request for member ‘getProperty’ in
‘((Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1*)this)->Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::<anonymous>.OCPI::RCC::RCCUserSlave::m_worker’,
which is of pointer type ‘OCPI::API::Worker*’ (maybe you meant to use ‘->’
?)
m_worker.getProperty(0u, val, list, options, attrs);

I believe this is all in generated code, so I am not sure how I could have
screwed anything up?

Any ideas or suggestions would be appreciated.

Thanks,
Brian

I am trying to compile a program that used to work in OpenCPI v1.7.0, but appears to error out with lots of errors regarding dereferencing a pointer for property access. Specifically (worker is tgc_proxy.rcc): In file included from tgc_proxy.cc:1:0: gen/tgc_proxy-worker.hh: In member function ‘const char* Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::getProperty_SPI_MUX_OVERRIDE(std::__cxx11::string&, OCPI::API::AccessList&, OCPI::API::PropertyOptionList&, OCPI::API::PropertyAttributes*)’: gen/tgc_proxy-worker.hh:118:16: error: request for member ‘getProperty’ in ‘((Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1*)this)->Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::<anonymous>.OCPI::RCC::RCCUserSlave::m_worker’, which is of pointer type ‘OCPI::API::Worker*’ (maybe you meant to use ‘->’ ?) m_worker.getProperty(0u, val, list, options, attrs); I believe this is all in generated code, so I am not sure how I could have screwed anything up? Any ideas or suggestions would be appreciated. Thanks, Brian
BP
Brian Padalino
Fri, Oct 9, 2020 4:11 AM

On Wed, Oct 7, 2020 at 7:07 PM Brian Padalino bpadalino@gmail.com wrote:

I am trying to compile a program that used to work in OpenCPI v1.7.0, but
appears to error out with lots of errors regarding dereferencing a pointer
for property access.  Specifically (worker is tgc_proxy.rcc):

In file included from tgc_proxy.cc:1:0:
gen/tgc_proxy-worker.hh: In member function ‘const char*
Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::getProperty_SPI_MUX_OVERRIDE(std::__cxx11::string&,
OCPI::API::AccessList&, OCPI::API::PropertyOptionList&,
OCPI::API::PropertyAttributes*)’:
gen/tgc_proxy-worker.hh:118:16: error: request for member ‘getProperty’ in
‘((Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1*)this)->Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::<anonymous>.OCPI::RCC::RCCUserSlave::m_worker’,
which is of pointer type ‘OCPI::API::Worker*’ (maybe you meant to use ‘->’
?)
m_worker.getProperty(0u, val, list, options, attrs);

I believe this is all in generated code, so I am not sure how I could have
screwed anything up?

Any ideas or suggestions would be appreciated.

It appears that I was working from a stale state and my external project
was not clean.  Therefore, the old generated code was there, and new code
was not generated.  There was a change in RCCWorker which made m_worker
from a reference into a pointer, which is why the old generated code did
not work.

Sorry for the noise.

Brian

On Wed, Oct 7, 2020 at 7:07 PM Brian Padalino <bpadalino@gmail.com> wrote: > I am trying to compile a program that used to work in OpenCPI v1.7.0, but > appears to error out with lots of errors regarding dereferencing a pointer > for property access. Specifically (worker is tgc_proxy.rcc): > > In file included from tgc_proxy.cc:1:0: > gen/tgc_proxy-worker.hh: In member function ‘const char* > Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::getProperty_SPI_MUX_OVERRIDE(std::__cxx11::string&, > OCPI::API::AccessList&, OCPI::API::PropertyOptionList&, > OCPI::API::PropertyAttributes*)’: > gen/tgc_proxy-worker.hh:118:16: error: request for member ‘getProperty’ in > ‘((Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1*)this)->Tgc_proxyWorkerTypes::Tgc_proxyWorkerBase::Slave1::<anonymous>.OCPI::RCC::RCCUserSlave::m_worker’, > which is of pointer type ‘OCPI::API::Worker*’ (maybe you meant to use ‘->’ > ?) > m_worker.getProperty(0u, val, list, options, attrs); > > I believe this is all in generated code, so I am not sure how I could have > screwed anything up? > > Any ideas or suggestions would be appreciated. > It appears that I was working from a stale state and my external project was not clean. Therefore, the old generated code was there, and new code was not generated. There was a change in RCCWorker which made m_worker from a reference into a pointer, which is why the old generated code did not work. Sorry for the noise. Brian >