On Mon, 27 Dec 2021, liuhongt via Gcc-patches wrote: > Since FLT_EVAL_METHOD only accepts negative value, 0, 1 or 2. > > gcc/c-family/ChangeLog: > > PR c/100854 > * c-common.c (excess_precision_mode_join): Return > FLT_EVAL_METHOD_PROMOTE_TO_FLOAT when both x and y are > FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16.
This patch is incorrect. The function excess_precision_mode_join correctly implements the semantics defined in the comment above the function, resulting in the correct value of FLT_EVAL_METHOD being defined in <float.h> (taking proper account of whether C23 values for FLT_EVAL_METHOD are permitted or not, including the -fpermitted-flt-eval-methods= option). -- Joseph S. Myers jos...@codesourcery.com