oversensitive "use of cast expressions as lvalues is deprecated"

Shaun Jackman sjackman@telus.net
Thu Jun 24 16:48:00 GMT 2004


> The casted lvalue is ((uint16_t *) src). The increment
> operator needs a proper lvalue.

Thanks, I completely missed that.

> By the way, accessing nonvolatile objects through a volatile
> object pointer is dangerous. It might do what you want, but
> is not guaranteed to.

The user is trying to write a value to a hardware port using an 
outportw macro. The macro takes his port address, an integer, 
and casts it to volatile pointer in the correct block of 
memory. It then writes the data to this pointer. What is 
incorrect with this method?

Cheers,
Shaun



More information about the Gcc-help mailing list