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
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