Thanks Kewen. Given that background, the patch is OK.
paul > On Jun 16, 2024, at 10:01 PM, Kewen.Lin <li...@linux.ibm.com> wrote: > > Hi Paul, > > on 2024/6/14 23:20, Paul Koning wrote: >> Ok, I understand better now. But if those macros are supposed to be >> replaced by hook functions, could you make that replacement part of the >> proposed patch? > > The default implementation of the introduced hook mode_for_floating_type > returns SFmode for float and DFmode for double or long double, which matches > what pdp11 port requires, so there is no need to add its own hook > implementation. > This patch series only re-define this hook macro with the customized hook > implementation for those ports which need something beyond the default. > > BR, > Kewen > >> >> paul >> >>> On Jun 13, 2024, at 11:22 PM, Kewen.Lin <li...@linux.ibm.com> wrote: >>> >>> Hi Paul, >>> >>> on 2024/6/14 04:07, Paul Koning wrote: >>>> What is the effect of this change? The original code intended to have >>>> "float" mean a 32 bit value, and "double" a 64 bit value. There aren't >>>> any larger floats, so I defined the long double size as 64 also. Is the >>>> right answer not to define it? >>> >>> Since sub-patch 09/52 will poison {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE, >>> target code building will fail >>> if it still has these macros. As I'd like to squash these target changes >>> onto 09/52, so I didn't note >>> the background/context here, sorry about that. >>> >>>> >>>> That part I understand, but why does the patch also remove FLOAT_TYPE_SIZE >>>> and DOUBLE_TYPE_SIZE without explanation and without mention in the >>>> changelog? >>> >>> Oops, thanks for catching! I just noticed this sub-patch has inconsistent >>> subject & changelog, I should >>> have noticed this as it has a quite different subject from the others. :( >>> With your finding, I just >>> re-visited all the other sub-patches, luckily they are consistent. >>> >>> The below is the updated revision, hope it looks good to you. Thanks again. >>> >>> BR, >>> Kewen >>> ----- >>> >>> Subject: [PATCH] pdp11: Remove macro {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE >>> >>> This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE >>> defines in pdp11 port, as we want to replace these macros >>> with hook mode_for_floating_type and poison them. >>> >>> gcc/ChangeLog: >>> >>> * config/pdp11/pdp11.h (FLOAT_TYPE_SIZE): Remove. >>> (DOUBLE_TYPE_SIZE): Likewise. >>> (LONG_DOUBLE_TYPE_SIZE): Likewise. >>> --- >>> gcc/config/pdp11/pdp11.h | 11 ----------- >>> 1 file changed, 11 deletions(-) >>> >>> diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h >>> index 2446fea0b58..6c8e045bc57 100644 >>> --- a/gcc/config/pdp11/pdp11.h >>> +++ b/gcc/config/pdp11/pdp11.h >>> @@ -71,17 +71,6 @@ along with GCC; see the file COPYING3. If not see >>> #define LONG_TYPE_SIZE 32 >>> #define LONG_LONG_TYPE_SIZE 64 >>> >>> -/* In earlier versions, FLOAT_TYPE_SIZE was selectable as 32 or 64, >>> - but that conflicts with Fortran language rules. Since there is no >>> - obvious reason why we should have that feature -- other targets >>> - generally don't have float and double the same size -- I've removed >>> - it. Note that it continues to be true (for now) that arithmetic is >>> - always done with 64-bit values, i.e., the FPU is always in "double" >>> - mode. */ >>> -#define FLOAT_TYPE_SIZE 32 >>> -#define DOUBLE_TYPE_SIZE 64 >>> -#define LONG_DOUBLE_TYPE_SIZE 64 >>> - >>> /* machine types from ansi */ >>> #define SIZE_TYPE "short unsigned int" /* definition of size_t */ >>> #define WCHAR_TYPE "short int" /* or long int???? */ >>> -- >>> 2.43.0 >>> >>> >> >