libfortran: Fix build for targets that don't have 10byte or 16 byte floating point
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.
This commit is contained in:
parent
a6654c08fd
commit
f32518726e
1 changed files with 4 additions and 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 ; \
|
||||
|
|
Loading…
Add table
Reference in a new issue