gcc/libgcc/config/avr/libf7/f7renames.sh
Georg-Johann Lay f30dd60766 Implement 64-bit double functions.
gcc/
	PR target/92055
	* config.gcc (tm_defines) [target=avr]: Support --with-libf7,
	--with-double-comparison.
	* doc/install.texi: Document them.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
	<WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
	<WITH_DOUBLE_COMPARISON>: New built-in defines.
	* doc/invoke.texi (AVR Built-in Macros): Document them.
	* config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
	* config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
	* config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
libgcc/
	PR target/92055
	* config.host (tmake_file) [target=avr]: Add t-libf7,
	t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=.
	* config/avr/t-avrlibc: Don't copy libgcc.a if there are modules
	depending on sizeof (double) or sizeof (long double).
	* config/avr/libf7: New folder.
libgcc/config/avr/libf7/
	PR target/92055
	* t-libf7: New file.
	* t-libf7-math: New file.
	* t-libf7-math-symbols: New file.
	* libf7-common.mk: New file.
	* libf7-asm-object.mk: New file.
	* libf7-c-object.mk: New file.
	* asm-defs.h: New file.
	* libf7.h: New file.
	* libf7.c: New file.
	* libf7-asm.sx: New file.
	* libf7-array.def: New file.
	* libf7-const.def: New file.
	* libf7-constdef.h: New file.
	* f7renames.sh: New script.
	* f7wraps.sh: New script.
	* f7-renames.h: New generated file.
	* f7-wraps.h: New generated file.

From-SVN: r279994
2020-01-08 09:31:07 +00:00

81 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env sh
# The first command argument tells us which flavour to generate for
# the rest of the command line arguments.
what=$1
shift
# The second command argument is the prefix to prepend to all functions.
# It is defined by F7_PREFIX in $2.
PRE=$1
shift
case ${what} in
head)
cat << EOF
/*
Auto-generated file, do not change by hand.
Generated by: `basename $0`.
Generated using: F7_PREFIX = ${PRE} from $1.
F7F, F7F_cst, F7F_asm from libf7-common.mk.
Included by: libf7.h.
Used by: libf7.c, libf7.h, libf7-asm.sx, f7-wraps.h.
*/
#ifndef F7_RENAMES_H
#define F7_RENAMES_H
#define F7_(name) ${PRE}##name
#define F7P ${PRE}
EOF
;;
c)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7.c, libf7.h. */"
echo " "
for x in $*; do
echo "#define f7_$x ${PRE}$x"
done
fi
;;
cst)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7.c, libf7.h. */"
echo " "
for x in $*; do
echo "#define f7_const_${x} ${PRE}const_${x}"
echo "#define f7_const_${x}_P ${PRE}const_${x}_P"
done
fi
;;
asm)
if [ x${PRE} != xf7_ ]; then
echo " "
echo "/* Renames for libf7-asm.sx, f7-wraps.h. */"
echo " "
for x in $*; do
echo "#define f7_${x}_asm ${PRE}${x}_asm"
done
fi
;;
tail)
cat << EOF
#endif /* F7_RENAMES_H */
EOF
;;
*)
exit 1
;;
esac