/* Set LEN bytes of S to 0. The compiler will not delete a call to
this function, even if S is dead after the call. */
void
explicit_bzero (void *s, size_t len)
{
memset (s, '\0', len);
/* Compiler barrier. */
asm volatile ("" ::: "memory");
}
/// Enumeration describing how the emission of a diagnostic should
/// be treated when it occurs during C++ template argument deduction.
enum SFINAEResponse {
SFINAE_SubstitutionFailure,
SFINAE_Suppress,
SFINAE_Report,
SFINAE_AccessControl
};
// Some algorithms defined in this clause make use of the exposition-only function voidify:
template<class T>
void* voidify(T& obj) noexcept {
return const_cast<void*>(static_cast<const volatile void*>(addressof(obj)));
}
// Note that we hit something that was technically undefined behavior, but
// that we can evaluate past it (such as signed overflow or floating-point
// division by zero.)
bool noteUndefinedBehavior() {
HasUndefinedBehavior = true;
return keepEvaluatingAfterUndefinedBehavior();
struct isa_impl_wrap<To, FromTy, FromTy> {
// When From == SimpleType, we are as simple as we are going to get.
static bool doit(const FromTy &Val) {
return isa_impl_cl<To,FromTy>::doit(Val);
}
};
typedef float __v2sf __attribute__((__vector_size__(8)));
/* Define the default attributes for the functions in this file. */
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("3dnow"), __min_vector_width__(64)))
static bool isSignedCharDefault(const Triple &T) {
switch (T.getArch()) {
default: return true;
case aarch64:
case aarch64_be:
case arm:
case armeb:
case thumb:
case thumbeb:
if (Triple.isOSDarwin() || Triple.isOSWindows())
return true;
return false;
#define OBJC_BOOL_IS_BOOL 1
typedef bool BOOL;
#else#define OBJC_BOOL_IS_CHAR 1
typedef signed char BOOL;
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
// even if -funsigned-char is used.
#endif
// If we have a binary expr, dispatch to the subcode of the binop. A smart
// optimizer (e.g. LLVM) will fold this comparison into the switch.
if (auto *bo = dyn_cast<BinOp>(S)) {
switch (bo->getOpcode()) {
#define OP(N) case BO_##N: DISP(Bin##NAME, BinaryOperator, S);
BINOPS()
3K Followers 533 FollowingRunning San Diego C++ Meetup @sdcppmu, YT chan,
Tech reviewer of OOP book (Packt) with Dorothy K. (Deciphering OOP w/ C++),
My opinions and jokes, nvidian
3 Followers 166 FollowingRecruiting webshell engineers to penetrate websites, with a monthly salary of up to $100,000. If interested, please contact https://t.co/OUSt0CsrjU
7K Followers 91 FollowingCompile C, C++, Rust, Haskell, Ispc, Java and other languages, and see assembly output. Also @compiler-explorer.com on bluesky
862 Followers 7K Followingdms open | 24 | prev at https://t.co/AhTLoP5pNz YC F25 | building in voice | figuring out in ai security and personal assistant
135 Followers 147 FollowingDoing Modern C++ things in Embedded Systems and other stuff.
Opinions are my own, and may be horribly wrong.
If I use "😛", I'm not being serious.
He/him.