PDA

View Full Version : [C]-Wall -pedantic sollevano warning incomprensibili...


santaclause83
24-09-2007, 10:41
sto compilando con le opzioni -Wall -pedantic per eliminare i warning e cce ne sono un paio che non capisco...

"warning: ISO C forbids braced-groups within expressions"

si riferisce a:
//nel caso ci sia un interruzione durante la lettura su pipe,chiama la macro che //ritenta fino a una read con successo

if(errno == EINTR) TEMP_FAILURE_RETRY(read(fd_server,buf,LUNG_RICHIESTA));

nel .h la macro è definita così:

#define TEMP_FAILURE_RETRY(expression) ({ long int _result; do _result = (long int) (expression); while (_result == -1L && errno == EINTR); _result; })


inoltre mi dà warning sulla dichiarazione di una variabile che non capisco,perchè solitamente il warning sotto me lo da quando dichiaro e inizializzo una variabile con un solo comando:
"warning: ISO C90 forbids mixed declarations and code"

char * pEnd; <--ho semplicemente dichiarato un pointer e mi solleva il warning...?

cionci
24-09-2007, 23:44
Con il C ISO non puoi usare // per commentare. Nel secondo caso evidentemente hai fatti qualche inizializzazione usando una funzione prima di quella istruzione.