svn commit: r329859 - in head: contrib/compiler-rt/lib/builtins include stand sys/arm/include sys/arm64/include sys/mips/include sys/powerpc/include sys/riscv/include sys/sparc64/include sys/sys sy...

Bruce Evans brde at optusnet.com.au
Fri Feb 23 06:13:00 UTC 2018


On Fri, 23 Feb 2018, Warner Losh wrote:

> Log:
>  Do not include float interfaces when using libsa.
>
>  We don't support float in the boot loaders, so don't include
>  interfaces for float or double in systems headers. In addition, take
>  the unusual step of spiking double and float to prevent any more
>  accidental seepage.

This unimproves all the _types.h headers, probably for no benefits for lua.

> Modified: head/sys/arm/include/_types.h
> ==============================================================================
> --- head/sys/arm/include/_types.h	Fri Feb 23 04:04:18 2018	(r329858)
> +++ head/sys/arm/include/_types.h	Fri Feb 23 04:04:25 2018	(r329859)
> @@ -70,8 +70,10 @@ typedef	unsigned long long	__uint64_t;
>  */
> typedef	__uint32_t	__clock_t;		/* clock()... */
> typedef	__int32_t	__critical_t;
> +#ifndef _STANDALONE
> typedef	double		__double_t;
> typedef	float		__float_t;
> +#endif
> typedef	__int32_t	__intfptr_t;
> typedef	__int64_t	__intmax_t;
> typedef	__int32_t	__intptr_t;

__types.h headers exist to avoid ifdefs like this.  They only define types
in the implementation namespace.  Nothing except <math.h> should use
__double_t or __float_t directly.  There is only a problem if some option
like -fno-float turns off floating point completely, so that 'float' is
a syntax error.

Bruce


More information about the svn-src-all mailing list