https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99556

            Bug ID: 99556
           Summary: time_get<wchar_t>::date_order()  returns no_order on
                    en_US - it should return mdy
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lewis at sophists dot com
  Target Milestone: ---

Created attachment 50367
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50367&action=edit
locale_time_get_date_order_no_order_Buggy.cpp

According to 
    https://en.cppreference.com/w/cpp/locale/time_get/date_order

the 'date_order' field for the locale en_US should be MDY;
libstdc++ appears to understand this emprirically from how it parses dates.

However, the value returned by time_get<wchar_t>::date_order() is 'no_order'
instead of 'mdy'.

This behavior APPEARS faulty given the above documentation.

I would not this behavior is also DIFFERENT than libc++ (clangs library) and
differnt from visual studios implmenetation which all return the (apparently)
correct mdy value.

Compile with
g++ locale_time_get_date_order_no_order_Buggy.cpp

will happen with any compiler version, but I tested on the latest ubuntu with
g++ (Ubuntu 10.2.0-13ubuntu1) 10.2.0

Reproducing file is attached.

note - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=9635 appears to be a
similar report, but is almost 20 years old.

Reply via email to