On Thu, 2024-06-13 at 17:23 +0200, Michał Górny wrote: > Add a helper function to check whether time_t is 64-bit. This could > be used e.g. to deselect tests that rely on timestamps exceeding Y2k38. > It is meant to be more future-proof than hardcoding a list of 32-bit > architectures, given the necessity of switching to 64-bit time_t > in the future. > > Signed-off-by: Michał Górny > --- > eclass/toolchain-funcs.eclass | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > Pull-Request: https://github.com/gentoo/gentoo/pull/37142 > > diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass > index cde84e6f34c8..3e20e956e9c2 100644 > --- a/eclass/toolchain-funcs.eclass > +++ b/eclass/toolchain-funcs.eclass > @@ -1,4 +1,4 @@ > -# Copyright 2002-2023 Gentoo Authors > +# Copyright 2002-2024 Gentoo Authors > # Distributed under the terms of the GNU General Public License v2 > > # @ECLASS: toolchain-funcs.eclass > @@ -1251,4 +1251,14 @@ tc-is-lto() { > return 1 > } > > +# @FUNCTION: tc-has-64bit-time_t > +# @RETURN: Shell true if time_t is at least 64 bits long, false otherwise > +tc-has-64bit-time_t() { > + "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null > + #include > + int test[sizeof(time_t) >= 8 ? 1 : -1]; > + EOF > + return $? > +} > + > fi I take it this can't be done with tc-cpp-is-true because you need more than just the preprocessor? Please don't quote $(tc-getCC), CC can have additional arguments in some cases. We don't quote $(tc-getTARGET_CPP) in tc-cpp-is-true.