0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-29 00:03:45 +02:00

ircd: Promote assume() to macro in portable.h.

Revert "ircd: Add assume() convenience wrapping for __builtin_assume()."

This reverts commit 597f60cf6b.
This commit is contained in:
Jason Volk 2022-05-02 17:52:37 -07:00
parent 8e1c80e6ac
commit 96b101cd6f
3 changed files with 12 additions and 27 deletions

View file

@ -40,7 +40,6 @@
// Project library interfaces
//
#include "util/assume.h"
#include "util/mask.h"
#include "util/align.h"
#include "string_view.h"

View file

@ -38,6 +38,18 @@
#define unlikely(x) __builtin_expect(!!(x), 0)
#endif
//
// Assume
//
#ifndef assume
#if __has_builtin(__builtin_assume)
#define assume(x) assert(x); __builtin_assume(x);
#else
#define assume(x) assert(x);
#endif
#endif
//
// 128 bit integer support
//

View file

@ -1,26 +0,0 @@
// The Construct
//
// Copyright (C) The Construct Developers, Authors & Contributors
// Copyright (C) 2016-2020 Jason Volk <jason@zemos.net>
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice is present in all copies. The
// full license for this software is available in the LICENSE file.
#pragma once
#define HAVE_IRCD_UTIL_ASSUME_H
namespace ircd { inline namespace util
{
template<class T>
[[using gnu: always_inline, gnu_inline, artificial]]
extern inline void
assume(T&& expr)
{
assert(static_cast<T&&>(expr));
#if __has_builtin(__builtin_assume)
__builtin_assume(static_cast<T&&>(expr));
#endif
}
}}