libfortran: Fix build for targets that don't have 10byte or 16 byte floating point
Checks
Commit Message
So the problem here is EXPAND_INTER_MACRO_16 expands to nothing if 16 byte FP does not
exist but we still add a comma after it and that causes a build failure.
The same is true for EXPAND_INTER_MACRO_10 too.
Committed as obvious after a bootstrap and test on x86_64-linux-gnu and aarch64-linux-gnu.
libgfortran/ChangeLog:
PR libfortran/110759
* ieee/ieee_arithmetic.F90
(COMP_INTERFACE): Remove the comma after EXPAND_INTER_MACRO_16
and EXPAND_INTER_MACRO_10.
(EXPAND_INTER_MACRO_16): Add comma here if 16 byte fp exist.
(EXPAND_INTER_MACRO_10): Likewise.
---
libgfortran/ieee/ieee_arithmetic.F90 | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -535,13 +535,13 @@ UNORDERED_MACRO(4,4)
end interface
#ifdef HAVE_GFC_REAL_16
-# define EXPAND_INTER_MACRO_16(TYPE,OP) _gfortran_ieee_/**/TYPE/**/_/**/OP/**/_16
+# define EXPAND_INTER_MACRO_16(TYPE,OP) _gfortran_ieee_/**/TYPE/**/_/**/OP/**/_16 ,
#else
# define EXPAND_INTER_MACRO_16(TYPE,OP)
#endif
#ifdef HAVE_GFC_REAL_10
-# define EXPAND_INTER_MACRO_10(TYPE,OP) _gfortran_ieee_/**/TYPE/**/_/**/OP/**/_10
+# define EXPAND_INTER_MACRO_10(TYPE,OP) _gfortran_ieee_/**/TYPE/**/_/**/OP/**/_10 ,
#else
# define EXPAND_INTER_MACRO_10(TYPE,OP)
#endif
@@ -549,8 +549,8 @@ UNORDERED_MACRO(4,4)
#define COMP_INTERFACE(TYPE,OP) \
interface IEEE_/**/TYPE/**/_/**/OP ; \
procedure \
- EXPAND_INTER_MACRO_16(TYPE,OP) , \
- EXPAND_INTER_MACRO_10(TYPE,OP) , \
+ EXPAND_INTER_MACRO_16(TYPE,OP) \
+ EXPAND_INTER_MACRO_10(TYPE,OP) \
_gfortran_ieee_/**/TYPE/**/_/**/OP/**/_8 , \
_gfortran_ieee_/**/TYPE/**/_/**/OP/**/_4 ; \
end interface ; \