#!/bin/sh # Copyright (C) 2014-2016 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # The GNU C Library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public # License along with the GNU C Library; if not, see # . # Generate series of definitions used for vector math functions tests. # TEST_VECTOR_* and WRAPPER_NAME are defined in vector math functions tests. # *_VEC_SUFF is used in individual tests, as result of FUNC_TEST unfolding # to avoid warnings / errors about undeclared functions. print_defs() { echo "#if defined TEST_VECTOR_$1 && TEST_VECTOR_$1" echo "# define HAVE_VECTOR_$1 1" echo "# define ${1}_VEC_SUFF WRAPPER_NAME ($1)" echo "WRAPPER_DECL$2 (WRAPPER_NAME ($1))" echo "#else" echo "# define HAVE_VECTOR_$1 0" echo "# define ${1}_VEC_SUFF $1" echo "#endif" echo } for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep -v define | grep -v RUN_TEST_LOOP_ff_f | grep -v RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do print_defs ${func} print_defs ${func}f print_defs ${func}l done for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_ff_f | sed -r "s/.*\(//; s/,.*//" ); do print_defs ${func} "_ff" print_defs ${func}f "_ff" print_defs ${func}l "_ff" done for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do print_defs ${func} "_fFF" print_defs ${func}f "_fFF" print_defs ${func}l "_fFF" done