*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: __USE | Section: 3 | Source: NetBSD | File: __USE.3
__USE(3) FreeBSD Library Functions Manual __USE(3) NAME __USE - compile time macro that marks a variable as being used SYNOPSIS #include <sys/cdefs.h> void __USE(x); DESCRIPTION The __USE macro can be used to omit warnings produced by certain compilers when variables are being set, but not used in a function. There are cases where it is simpler to mark a variable as used, as opposed to ifdef out its use: #ifdef DEBUG_FOO #define DPRINTF(a) printf a #else #define DPRINTF(a) void foo(void) { int var; var = getval(); DPRINTF(("val is %d0, var)); } In this case, ifdefing the code would make it: void foo(void) { #ifdef DEBUG_FOO int var; var = getval(); DPRINTF(("val is %d0, var)); #else (void)getval(); #endif } This is not desirable because it duplicates code. With the __USE macro this can be written as: void foo(void) { int var; var = getval(); #ifdef DEBUG_FOO DPRINTF(("val is %d0, var)); #else __USE(var); #endif } without producing compiler warnings. Although it is simple to write: (void)var; abstracting this into the macro allows for alternate implementations, as well as changing it to an empty implementation so that the liveness of the variable can be re-evaluated. IMPLEMENTATION NOTES __USE is implemented as: #define __USE(a) ((void)(a)) SEE ALSO cc(1), cdefs(3) CAVEATS __USE should be used sparingly as it can cause valid warnings to be hidden. Use of this macro is non-portable; this is part of the implementation namespace and should only be used in NetBSD code. FreeBSD 14.1-RELEASE-p8 October 17, 2013 FreeBSD 14.1-RELEASE-p8

Navigation Options