#ifndef VLIBC_ISO646_H #define VLIBC_ISO646_H /* * vlibc — . * * 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 #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 */