> Date: Thu, 17 Aug 2023 21:32:29 +0100
> From: Jonathan Wakely via Gcc-patches <gcc-patches@gcc.gnu.org>

> Tested x86_64-linux. Pushed to trunk.

Does the below typo imply that for x86_64-linux,
"__DBL_MANT_DIG__ == __LDBL_MANT_DIG__" is false and the
code is actually untested?

> libstdc++-v3/ChangeLog:
> 
>       * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
>       double overload for long double if possible.

Breakage for cris-elf:

libtool: compile:  /auto/cris-elf/gccobj/./gcc/xgcc -shared-libgcc 
-B/auto/cris-elf/gccobj/./gcc -nostdinc++ 
-L/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/src 
-L/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/src/.libs 
-L/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/libsupc++/.libs -nostdinc 
-B/auto/cris-elf/gccobj/cris-elf/newlib/ -isystem 
/auto/cris-elf/gccobj/cris-elf/newlib/targ-include -isystem 
/auto/gcc/newlib/libc/include -B/auto/cris-elf/gccobj/cris-elf/libgloss/cris 
-L/auto/cris-elf/gccobj/cris-elf/libgloss/libnosys -L/auto/gcc/libgloss/cris 
-B/auto/cris-elf/pre/cris-elf/bin/ -B/auto/cris-elf/pre/cris-elf/lib/ -isystem 
/auto/cris-elf/pre/cris-elf/include -isystem 
/auto/cris-elf/pre/cris-elf/sys-include -I/auto/gcc/libstdc++-v3/../libgcc 
-I/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/include/cris-elf 
-I/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/include 
-I/auto/gcc/libstdc++-v3/libsupc++ -std=gnu++98 -fno-implicit-templates -Wall 
-Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnos
 tics-show-location=once -ffunction-sections -fdata-sections 
-frandom-seed=c++locale.lo -g -O2 -fimplicit-templates -c c++locale.cc -o 
c++locale.o
c++locale.cc: In function 'void std::__convert_to_v(const char*, _Tp&, 
ios_base::iostate&, int* const&) [with _Tp = long double; ios_base::iostate = 
ios_base::iostate; __c_locale = int*]':
c++locale.cc:192:49: error: expected primary-expression before ')' token
  192 |       __convert_to_v(__s, __d, __err, __c_locale);
      |                                                 ^
make[5]: *** [Makefile:881: c++locale.lo] Error 1
make[5]: Leaving directory 
'/auto/cris-elf/gccobj/cris-elf/libstdc++-v3/src/c++98'

(Formally, a commit in the range ee40bdbfb07c..aad83d61d2e9
but this one seems pretty clear.)

In the context:
     __convert_to_v(const char* __s, long double& __v,
                   ios_base::iostate& __err, const __c_locale&) throw()

So, __c_locale" appears to be the type(def) and you're
missing a parameter name. :)

brgds, H-P

Reply via email to