From: Michael Meffie Date: Sun, 21 Jan 2018 23:38:11 +0000 (-0500) Subject: Suppress statement not reached warnings under Solaris Studio X-Git-Tag: upstream/1.8.1_pre2^2~51 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=6c481da10e613e678e9d66582a0445177f923d1e;p=packages%2Fo%2Fopenafs.git Suppress statement not reached warnings under Solaris Studio Solaris Studio issues warnings for statements which can not be reached, such as statements following an infinite loop. For example, the return statement will generate a 'statement not reached' warning in the following code: while (1) { /* no breaks or gotos in this body */ } return 0; Suppress these warnings by conditionally removing such statements when building under Solaris Studio. Reviewed-on: https://gerrit.openafs.org/12958 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk (cherry picked from commit f47cb2d4a957910c3e7d4b755f41ddef5dd103c5) Change-Id: I3ac84edbc18d7b6aebd568e9a1c4a3e47aba5512 Reviewed-on: https://gerrit.openafs.org/13107 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- diff --git a/src/bozo/bnode.c b/src/bozo/bnode.c index d117311bd..6c0ab9004 100644 --- a/src/bozo/bnode.c +++ b/src/bozo/bnode.c @@ -681,7 +681,7 @@ bproc(void *unused) } } } - return NULL; + AFS_UNREACHED(return(NULL)); } static afs_int32 diff --git a/src/bozo/bosserver.c b/src/bozo/bosserver.c index f97745cf8..fb586f7f9 100644 --- a/src/bozo/bosserver.c +++ b/src/bozo/bosserver.c @@ -633,7 +633,7 @@ BozoDaemon(void *unused) bnode_ApplyInstance(bdrestart, 0); } } - return NULL; + AFS_UNREACHED(return(NULL)); } #ifdef AFS_AIX32_ENV diff --git a/src/bucoord/bc_status.c b/src/bucoord/bc_status.c index 818cc5821..2ba872896 100644 --- a/src/bucoord/bc_status.c +++ b/src/bucoord/bc_status.c @@ -388,7 +388,7 @@ statusWatcher(void *unused) curPollPtr = 0; } /*done */ } /*w */ - return NULL; + AFS_UNREACHED(return(NULL)); } /* bc_jobNumber diff --git a/src/butc/dbentries.c b/src/butc/dbentries.c index 3a358cef4..37b35d307 100644 --- a/src/butc/dbentries.c +++ b/src/butc/dbentries.c @@ -483,5 +483,5 @@ dbWatcher(void *unused) IOMGR_Sleep(2); #endif } - return NULL; + AFS_UNREACHED(return(NULL)); } diff --git a/src/config/stds.h b/src/config/stds.h index a031bfdd2..018562363 100644 --- a/src/config/stds.h +++ b/src/config/stds.h @@ -316,4 +316,13 @@ hdr_static_inline(unsigned long long) afs_printable_uint64_lu(afs_uint64 d) { re #define AFS_NONNULL(x) #endif +/* + * Conditionally remove unreached statements under Solaris Studio. + */ +#if defined(__SUNPRO_C) +# define AFS_UNREACHED(x) +#else +# define AFS_UNREACHED(x) x +#endif + #endif /* OPENAFS_CONFIG_AFS_STDS_H */ diff --git a/src/fsprobe/fsprobe.c b/src/fsprobe/fsprobe.c index 1ca1b5ad7..03657eb1a 100644 --- a/src/fsprobe/fsprobe.c +++ b/src/fsprobe/fsprobe.c @@ -367,9 +367,8 @@ fsprobe_LWP(void *unused) if (code) fprintf(stderr, "[%s] IOMGR_Select returned code %d\n", rn, code); } /*Service loop */ - free(stats64.ViceStatistics64_val); - - return NULL; + AFS_UNREACHED(free(stats64.ViceStatistics64_val)); + AFS_UNREACHED(return(NULL)); } /*fsprobe_LWP */ /*list all the partitions on */ diff --git a/src/kauth/krb_udp.c b/src/kauth/krb_udp.c index f4b84775d..a5960f35f 100644 --- a/src/kauth/krb_udp.c +++ b/src/kauth/krb_udp.c @@ -113,7 +113,7 @@ FiveMinuteCheckLWP(void *unused) /* close the log so it can be removed */ ReOpenLog(); /* no trunc, just append */ } - return NULL; + AFS_UNREACHED(return(NULL)); } diff --git a/src/lwp/iomgr.c b/src/lwp/iomgr.c index dcd94d158..821ae0c1e 100644 --- a/src/lwp/iomgr.c +++ b/src/lwp/iomgr.c @@ -583,7 +583,7 @@ static void *IOMGR(void *dummy) } LWP_DispatchProcess(); } - return (void *)-1; /* keeps compilers happy. */ + AFS_UNREACHED(return((void *)-1)); /* keeps compilers happy. */ } /************************\ diff --git a/src/opr/softsig.c b/src/opr/softsig.c index 469bd43e1..fa4fcad4d 100644 --- a/src/opr/softsig.c +++ b/src/opr/softsig.c @@ -76,7 +76,7 @@ signalHandler(void *arg) handlers[receivedSignal].handler(receivedSignal); } } - return NULL; + AFS_UNREACHED(return(NULL)); } static void diff --git a/src/rx/rx_lwp.c b/src/rx/rx_lwp.c index fa4ee6dc4..a64f3be44 100644 --- a/src/rx/rx_lwp.c +++ b/src/rx/rx_lwp.c @@ -334,8 +334,7 @@ rx_ListenerProc(void *dummy) rxi_ServerProc(threadID, newcall, &sock); /* osi_Assert(sock != OSI_NULLSOCKET); */ } - /* not reached */ - return NULL; + AFS_UNREACHED(return(NULL)); } /* This is the server process request loop. The server process loop @@ -368,8 +367,7 @@ rx_ServerProc(void * unused) /* osi_Assert(threadID != -1); */ /* osi_Assert(newcall != NULL); */ } - /* not reached */ - return NULL; + AFS_UNREACHED(return(NULL)); } /* diff --git a/src/rx/rx_pthread.c b/src/rx/rx_pthread.c index b4272bbce..ba824b7b4 100644 --- a/src/rx/rx_pthread.c +++ b/src/rx/rx_pthread.c @@ -182,7 +182,7 @@ event_handler(void *argp) #endif rx_pthread_event_rescheduled = 0; } - return NULL; + AFS_UNREACHED(return(NULL)); } @@ -264,8 +264,7 @@ rx_ListenerProc(void *argp) rxi_ServerProc(threadID, newcall, &sock); /* osi_Assert(sock != OSI_NULLSOCKET); */ } - /* not reached */ - return NULL; + AFS_UNREACHED(return(NULL)); } /* This is the server process request loop. The server process loop @@ -312,8 +311,7 @@ rx_ServerProc(void * dummy) /* osi_Assert(threadID != -1); */ /* osi_Assert(newcall != NULL); */ } - /* not reached */ - return NULL; + AFS_UNREACHED(return(NULL)); } /* diff --git a/src/ubik/beacon.c b/src/ubik/beacon.c index 01844ae7d..4351cc8b8 100644 --- a/src/ubik/beacon.c +++ b/src/ubik/beacon.c @@ -663,7 +663,7 @@ ubeacon_Interact(void *dummy) } } /* while loop */ - return NULL; + AFS_UNREACHED(return(NULL)); } /*! diff --git a/src/ubik/recovery.c b/src/ubik/recovery.c index 0f3e714a7..5bd03e13c 100644 --- a/src/ubik/recovery.c +++ b/src/ubik/recovery.c @@ -874,7 +874,7 @@ urecovery_Interact(void *dummy) } DBRELE(ubik_dbase); } - return NULL; + AFS_UNREACHED(return(NULL)); } /*! diff --git a/src/util/tabular_output.c b/src/util/tabular_output.c index 7c883a81b..dd45fd2ff 100644 --- a/src/util/tabular_output.c +++ b/src/util/tabular_output.c @@ -509,5 +509,5 @@ findRowIndex(struct util_Table* Table, struct util_TableRow *aRow){ return lower; } } while(1); - return 0; + AFS_UNREACHED(return(0)); } diff --git a/src/viced/viced.c b/src/viced/viced.c index 11f21e0e7..1ca05a603 100644 --- a/src/viced/viced.c +++ b/src/viced/viced.c @@ -440,8 +440,10 @@ FiveMinuteCheckLWP(void *unused) opr_cv_broadcast(&fs_state.worker_done_cv); FS_UNLOCK; FS_STATE_UNLOCK; -#endif return NULL; +#else + AFS_UNREACHED(return(NULL)); +#endif } /*FiveMinuteCheckLWP */ @@ -488,8 +490,10 @@ HostCheckLWP(void *unused) opr_cv_broadcast(&fs_state.worker_done_cv); FS_UNLOCK; FS_STATE_UNLOCK; -#endif return NULL; +#else + AFS_UNREACHED(return(NULL)); +#endif } /*HostCheckLWP */ /* This LWP does fsync checks every 5 minutes: it should not be used for @@ -547,8 +551,10 @@ FsyncCheckLWP(void *unused) opr_cv_broadcast(&fs_state.worker_done_cv); FS_UNLOCK; FS_STATE_UNLOCK; -#endif /* AFS_DEMAND_ATTACH_FS */ return NULL; +#else + AFS_UNREACHED(return(NULL)); +#endif /* !AFS_DEMAND_ATTACH_FS */ } /*------------------------------------------------------------------------ @@ -2213,5 +2219,5 @@ main(int argc, char *argv[]) while (1) { sleep(1000); /* long time */ } - return 0; + AFS_UNREACHED(return(0)); } diff --git a/src/vol/fssync-server.c b/src/vol/fssync-server.c index cd15e2d7c..2d7cd6011 100644 --- a/src/vol/fssync-server.c +++ b/src/vol/fssync-server.c @@ -331,7 +331,7 @@ FSYNC_sync(void * args) CallHandler(&FSYNC_readfds); #endif } - return NULL; /* hush now, little gcc */ + AFS_UNREACHED(return(NULL)); /* hush now, little gcc */ } #ifdef AFS_DEMAND_ATTACH_FS @@ -376,9 +376,8 @@ FSYNC_salvageThread(void * args) VCancelReservation_r(vp); } - VOL_UNLOCK; - - return NULL; + AFS_UNREACHED(VOL_UNLOCK); + AFS_UNREACHED(return(NULL)); } /** @@ -2128,7 +2127,7 @@ FindHandler(osi_socket afd) } ReleaseReadLock(&FSYNC_handler_lock); /* just in case */ opr_abort(); - return -1; /* satisfy compiler */ + AFS_UNREACHED(return(-1)); /* satisfy compiler */ } static int @@ -2140,7 +2139,7 @@ FindHandler_r(osi_socket afd) return i; } opr_abort(); - return -1; /* satisfy compiler */ + AFS_UNREACHED(return(-1)); /* satisfy compiler */ } static int diff --git a/src/vol/salvaged.c b/src/vol/salvaged.c index 23239d731..b2468316a 100644 --- a/src/vol/salvaged.c +++ b/src/vol/salvaged.c @@ -708,7 +708,7 @@ SalvageChildReaperThread(void * args) opr_cv_broadcast(&worker_cv); } - return NULL; + AFS_UNREACHED(return(NULL)); } static int @@ -757,8 +757,8 @@ SalvageLogCleanupThread(void * arg) } } - opr_mutex_exit(&worker_lock); - return NULL; + AFS_UNREACHED(opr_mutex_exit(&worker_lock)); + AFS_UNREACHED(return(NULL)); } #define LOG_XFER_BUF_SIZE 65536 diff --git a/src/vol/salvsync-server.c b/src/vol/salvsync-server.c index b399d8164..d974152d7 100644 --- a/src/vol/salvsync-server.c +++ b/src/vol/salvsync-server.c @@ -336,7 +336,7 @@ SALVSYNC_syncThread(void * args) CallHandler(&SALVSYNC_readfds); } - return NULL; + AFS_UNREACHED(return(NULL)); } static void diff --git a/src/volser/volmain.c b/src/volser/volmain.c index f454dd10d..de3c9860b 100644 --- a/src/volser/volmain.c +++ b/src/volser/volmain.c @@ -156,7 +156,7 @@ BKGLoop(void *unused) } } - return NULL; + AFS_UNREACHED(return(NULL)); } #if defined(AFS_NT40_ENV) || defined(AFS_DARWIN160_ENV)