33 lines
774 B
C
33 lines
774 B
C
#ifndef VLIBC_ISO646_H
|
|
#define VLIBC_ISO646_H
|
|
|
|
/*
|
|
* vlibc — <iso646.h>.
|
|
*
|
|
* Alternative spellings for the bitwise and logical operators. C23 removed
|
|
* them from the language as alternative tokens, so this header provides them
|
|
* as macros; in C17 the spellings are lexed as tokens and the macros never
|
|
* fire, which makes the definitions harmless in both modes. In C++ they are
|
|
* part of the language, so no macros are defined there.
|
|
*
|
|
* This header is ISO C core and is present in every profile.
|
|
*/
|
|
|
|
#include <vlibc/features.h>
|
|
|
|
#ifndef __cplusplus
|
|
#define and &&
|
|
#define and_eq &=
|
|
#define bitand &
|
|
#define bitor |
|
|
#define compl ~
|
|
#define not !
|
|
#define not_eq !=
|
|
#define or ||
|
|
#define or_eq |=
|
|
#define xor ^
|
|
#define xor_eq ^=
|
|
#endif
|
|
|
|
#endif /* VLIBC_ISO646_H */
|