GCC 4.1.0 vs 3.4.3 Compile Issue

Andrew Haley aph@gcc.gnu.org
Tue Jan 2 10:27:00 GMT 2007


John Doe writes:
 > 
 > > without seeing the input that causes the error nobody will really
 > > be able to tell you much.
 > 
 > Many thanks for the response.  I've pasted the relevant code below:
 > 
 > typedef void* HANDLETYPE;
 > 
 > ERRORTYPE VIDDEC_HandleCommand (HANDLETYPE phandle, ...)
 > {
 > 
 > VIDDEC_COMPONENT_PRIVATE* pComponentPrivate =
 > (VIDDEC_COMPONENT_PRIVATE*)phandle;
 > HANDLETYPE hIPC = NULL;
 > ....
 > ....
 > (IPC_DSP_INTERFACE*)pComponentPrivate->pIPC = (IPC_DSP_INTERFACE*)hIPC;
 > 
 > The line immediately above this text is causing the aforementioned
 > "invalid lvalue in assignment" error.  Would this qualify as one of
 > the deprecated conditions you mentioned below?

This construct is known as an lvalue cast.  It used to be supported in
gcc, but isn't any longer.

It's easy enough to fix:

   pComponentPrivate->pIPC = (pIPCType*)hIPC;

Andrew.



More information about the Gcc-help mailing list