Query: __unconst
OS: netbsd
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
__UNCONST(3) BSD Library Functions Manual __UNCONST(3)NAME__UNCONST -- compile time cast-away macroSYNOPSIS#include <sys/cdefs.h> void __UNCONST(x); void __UNVOLATILE(x);DESCRIPTIONThe __UNCONST() macro can be used to omit warnings produced by certain compilers when operating with pointers declared with the const type qualifier in a context without such qualifier. Examples include passing a pointer declared with the const qualifier to a function without such qualifier, and variable assignment from a const pointer to a non-const pointer. In the same vein, the __UNVOLATILE() macro can be used to exclude warnings related to the volatile type qualifier.IMPLEMENTATION NOTESThese macros are implemented by explicitly using unsigned long instead of intptr_t, a signed type guaranteed to hold a pointer.SEE ALSOcc(1), cdefs(3)CAVEATSAs both macros may hide valid errors, their usage is not recommended unless there is a well-thought reason for a cast. A typical use case for __UNCONST() involve an API that does not follow the so-called ``const correctness'' even if it would be appropriate. Valid use cases of __UNVOLATILE() include passing a volatile pointer to memset(3).BSDDecember 16, 2010 BSD
Related Man Pages |
---|
acl_get_qualifier(3) - mojave |
acl_get_qualifier(3) - redhat |
__kernel_rcsid(3) - netbsd |
__rcsid(3) - netbsd |
__unvolatile(3) - netbsd |
Similar Topics in the Unix Linux Community |
---|
Need a simple example of passing FILE pointers |
cast from const void* to unsigned int loses precision |
New here |
Text qualifier issue causing data alignment problem |