Thread (79 messages) 79 messages, 9 authors, 2024-12-09

Re: [PATCH 00/10] compiler.h: refactor __is_constexpr() into is_const{,_true,_false}()

From: Kees Cook <kees@kernel.org>
Date: 2024-12-04 23:58:47
Also in: dri-devel, intel-gfx, linux-hardening, lkml, llvm


On December 3, 2024 3:33:22 AM GMT+10:00, Vincent Mailhol via B4 Relay [off-list ref] wrote:
This series is the spiritual successor of [1] which introduced
const_true(). In [1], following a comment from David Laight, Linus
came with a suggestion to simplify __is_constexpr() and its derived
macros using a _Generic() selection. Because of the total change of
scope, I am starting a new series.

The goal is to introduce a set of three macros:

 - is_const(): a one to one replacement of __is_constexpr() in term
   of features but written in a less hacky way thanks to _Generic().

 - is_const_true(): tells whether or not the argument is a true
   integer constant expression.

 - is_const_false(): tells whether or not the argument is a false
   integer constant expression.
But why make this change? Is something broken? Does it make builds faster?
7 files changed, 97 insertions(+), 84 deletions(-)
It makes the code larger too. I don't see what the benefit is, and given how much time has been spent making sure the existing stuff works correctly, I feel like we should have a clear benefit to replacing it all.

-Kees

-- 
Kees Cook
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help