compiler: load LHS subexpressions of op= assignment only once
[official-gcc.git] / config / dfp.m4
blob5b6a3f9d11424b6fd0736738eebd50fba925d509
1 # Copyright (C) 2010-2022 Free Software Foundation, Inc.
3 # This file is part of GCC.
5 # GCC is free software; you can redistribute it and/or modify it under
6 # the terms of the GNU General Public License as published by the Free
7 # Software Foundation; either version 3, or (at your option) any
8 # later version.
10 # GCC is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
13 # License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with GCC; see the file COPYING3.  If not see
17 # <http://www.gnu.org/licenses/>.
19 dnl @synopsis GCC_AC_ENABLE_DECIMAL_FLOAT([target triplet])
20 dnl
21 dnl Enable C extension for decimal float if target supports it.
22 dnl
23 dnl @author Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
25 AC_DEFUN([GCC_AC_ENABLE_DECIMAL_FLOAT],
27 AC_ARG_ENABLE(decimal-float,
28 [  --enable-decimal-float={no,yes,bid,dpd}
29                         enable decimal float extension to C.  Selecting 'bid'
30                         or 'dpd' choses which decimal floating point format
31                         to use],
33   case $enable_decimal_float in
34     yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
35     *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
36 Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
37   esac
40   case $1 in
41     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
42     i?86*-*-elfiamcu | i?86*-*-gnu* | x86_64*-*-gnu* | \
43     i?86*-*-mingw* | x86_64*-*-mingw* | \
44     i?86*-*-cygwin* | x86_64*-*-cygwin*)
45       enable_decimal_float=yes
46       ;;
47     *)
48       AC_MSG_WARN([decimal float is not supported for this target, ignored])
49       enable_decimal_float=no
50       ;;
51   esac
54 # x86's use BID format instead of DPD
55 case x$enable_decimal_float in
56   xyes)
57     case $1 in
58       i?86*-*-* | x86_64*-*-*)
59         enable_decimal_float=bid
60         ;;
61       *)
62         enable_decimal_float=dpd
63         ;;
64     esac
65     default_decimal_float=$enable_decimal_float
66     ;;
67   xno)
68     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
69     # dependency on libdecnumber.
70     default_decimal_float=dpd
71     ;;
72 esac
73 AC_SUBST(enable_decimal_float)