From: Marc Dionne Date: Fri, 10 Sep 2010 01:02:05 +0000 (-0400) Subject: Warning fix for gcc 4.5 "operation may be undefined" warnings X-Git-Tag: upstream/1.8.0_pre1^2~4841 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=d69914a5f0580f8048072d3b734558ea5b7b2df5;p=packages%2Fo%2Fopenafs.git Warning fix for gcc 4.5 "operation may be undefined" warnings The inc_header_word and set_header_word macros make repeated use of their argument, which triggers many (~30) warnings with gcc 4.5, like this one: ./ptutils.c:473:6: warning: operation on ‘cheader.foreigncount’ may be undefined Removing the cast to afs_int32 in the macros gets rid of the warning, and should be safe since we're just getting a small positive integer value - the offset of the member in the structure - and passing it to the pr_Write function which expects an afs_int32. Change-Id: Ie493520f874cddbb4b7f9f7ebe4b3922a848d0d0 Reviewed-on: http://gerrit.openafs.org/2729 Tested-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/ptserver/ptserver.h b/src/ptserver/ptserver.h index ef6c772c5..653ae0f9d 100644 --- a/src/ptserver/ptserver.h +++ b/src/ptserver/ptserver.h @@ -47,12 +47,12 @@ struct prheader { extern struct prheader cheader; #define set_header_word(tt,field,value) \ - pr_Write ((tt), 0, (afs_int32)((char *)&(cheader.field) - (char *)&cheader), \ + pr_Write ((tt), 0, ((char *)&(cheader.field) - (char *)&cheader), \ ((cheader.field = (value)), (char *)&(cheader.field)), \ sizeof(afs_int32)) #define inc_header_word(tt,field,inc) \ - pr_Write ((tt), 0, (afs_int32)((char *)&(cheader.field) - (char *)&cheader), \ + pr_Write ((tt), 0, ((char *)&(cheader.field) - (char *)&cheader), \ ((cheader.field = (htonl(ntohl(cheader.field)+(inc)))), \ (char *)&(cheader.field)), \ sizeof(afs_int32))