This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: use of cast expressions as lvalues is deprecated


Lyndon Oh writes:
 > Hi,
 > 
 > I keep having this error when i upgraded my old gcc compiler.
 > 
 > in macro.h
 > #define FOR_EACH( p, p_list, action )                                       \
 > {                                                                           \
 >     PROTO_DATA  *p_next;                                                    \
 >     for ( p = (p_list); p; (PROTO_DATA *) p = p_next ) {                    \
 >         p_next = (PROTO_DATA *) p->next;                                    \
 >         LCHECK( p );                                                        \
 >         (action);                                                           \
 >     }                                                                       \
 > }
 > 
 > Is there anyway to work around this?

Something like

    for ( p = (p_list); p; p = (typeof p)p_next )

will do it.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]