public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely@redhat.com>
To: Hans-Peter Nilsson <hp@axis.com>
Cc: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: Re: build broke, cris-elf: [committed] libstdc++: Implement C++20 time zone support in <chrono>
Date: Fri, 23 Dec 2022 09:44:43 +0000	[thread overview]
Message-ID: <CACb0b4=5VpajwnN=u1fy9aGbDxT9xUjnwGF29T8aiFThfRYisQ@mail.gmail.com> (raw)
In-Reply-To: <CACb0b4mnDYKou6-sWDkACEg_S5mTaLLOP-mBtq04gCT_Qjf4kA@mail.gmail.com>

On Fri, 23 Dec 2022 at 09:29, Jonathan Wakely <jwakely@redhat.com> wrote:
>
> On Fri, 23 Dec 2022 at 02:15, Hans-Peter Nilsson via Libstdc++
> <libstdc++@gcc.gnu.org> wrote:
> >
> > > From: Jonathan Wakely via Gcc-patches <gcc-patches@gcc.gnu.org>
> > > Date: Fri, 23 Dec 2022 00:37:04 +0100
> >
> > > This is the largest missing piece of C++20 support. Only the cxx11 ABI
> > > is supported, due to the use of std::string in the API for time zones.
> >
> > > libstdc++-v3/ChangeLog:
> > >
> > >       * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): New macro.
> > >       * config.h.in: Regenerate.
> > >       * config/abi/pre/gnu.ver: Export new symbols.
> > >       * configure: Regenerate.
> > >       * configure.ac (GLIBCXX_ZONEINFO_DIR): Use new macro.
> > >       * include/std/chrono (utc_clock::from_sys): Correct handling
> > >       of leap seconds.
> > >       (nonexistent_local_time::_M_make_what_str): Define.
> > >       (ambiguous_local_time::_M_make_what_str): Define.
> > >       (__throw_bad_local_time): Define new function.
> > >       (time_zone, tzdb_list, tzdb): Implement all members.
> > >       (remote_version, zoned_time, get_leap_second_info): Define.
> > >       * include/std/version: Add comment for __cpp_lib_chrono.
> > >       * src/c++20/Makefile.am: Add new file.
> > >       * src/c++20/Makefile.in: Regenerate.
> > >       * src/c++20/tzdb.cc: New file.
> > >       * testsuite/lib/libstdc++.exp: Define effective target tzdb.
> > >       * testsuite/std/time/clock/file/members.cc: Check file_time
> > >       alias and file_clock::now() member.
> > >       * testsuite/std/time/clock/gps/1.cc: Likewise for gps_clock.
> > >       * testsuite/std/time/clock/tai/1.cc: Likewise for tai_clock.
> > >       * testsuite/std/time/syn_c++20.cc: Uncomment everything except
> > >       parse.
> > >       * testsuite/std/time/clock/utc/leap_second_info.cc: New test.
> > >       * testsuite/std/time/exceptions.cc: New test.
> > >       * testsuite/std/time/time_zone/get_info_local.cc: New test.
> > >       * testsuite/std/time/time_zone/get_info_sys.cc: New test.
> > >       * testsuite/std/time/time_zone/requirements.cc: New test.
> > >       * testsuite/std/time/tzdb/1.cc: New test.
> > >       * testsuite/std/time/tzdb/leap_seconds.cc: New test.
> > >       * testsuite/std/time/tzdb_list/1.cc: New test.
> > >       * testsuite/std/time/tzdb_list/requirements.cc: New test.
> > >       * testsuite/std/time/zoned_time/1.cc: New test.
> > >       * testsuite/std/time/zoned_time/custom.cc: New test.
> > >       * testsuite/std/time/zoned_time/deduction.cc: New test.
> > >       * testsuite/std/time/zoned_time/req_neg.cc: New test.
> > >       * testsuite/std/time/zoned_time/requirements.cc: New test.
> > >       * testsuite/std/time/zoned_traits.cc: New test.
> >
> >
> > > +++ b/libstdc++-v3/src/c++20/tzdb.cc
> >
> > > +      static_assert(sizeof(datetime) == 8 && alignof(datetime) == 4);
> >
> > This broke build for cris-elf:
> > x/autotest/hpautotest-gcc1/gcc/libstdc++-v3/src/c++20/tzdb.cc:451:38: error: static assertion failed
> >   451 |       static_assert(sizeof(datetime) == 8 && alignof(datetime) == 4);
> >       |                     ~~~~~~~~~~~~~~~~~^~~~
> > x/autotest/hpautotest-gcc1/gcc/libstdc++-v3/src/c++20/tzdb.cc:451:38: note: the comparison reduces to '(7 == 8)'
> > make[5]: *** [Makefile:562: tzdb.lo] Error 1
> >
> > (and I don't think "alignof(datetime) == 4" is true either)
>
>
> Sorry about that, I can just remove the assertion now. I'll commit that ASAP.

Should be fixed at r13-4871-gdb3c5831f80e67


      reply	other threads:[~2022-12-23  9:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-22 23:37 Jonathan Wakely
2022-12-23  2:15 ` build broke, cris-elf: " Hans-Peter Nilsson
2022-12-23  9:29   ` Jonathan Wakely
2022-12-23  9:44     ` Jonathan Wakely [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACb0b4=5VpajwnN=u1fy9aGbDxT9xUjnwGF29T8aiFThfRYisQ@mail.gmail.com' \
    --to=jwakely@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hp@axis.com \
    --cc=libstdc++@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).