From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 196C8385B50E for ; Fri, 23 Dec 2022 09:44:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 196C8385B50E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1671788698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O/ilai4M3QgWp/aiP99PgiKB7Ff1mnNwaeVXvkxwv+o=; b=bMFM0XxQZl4NvyADs+PPQ6h39YZl5NNnop8rWkEEdii0jTJ614Y2vpqJ1vbtV2KotdKV24 BocY461CtjiG73lQInws5UTYyOATipjCk0y0rH/uZSdncADIe+7vHGttUpJTUfMS32+Iob QQUL+bnaw+GbBQ8JjEblO30mKsadYD8= Received: from mail-lj1-f197.google.com (mail-lj1-f197.google.com [209.85.208.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-483-t0yG4aTENwCBwLUmf4ymfg-1; Fri, 23 Dec 2022 04:44:57 -0500 X-MC-Unique: t0yG4aTENwCBwLUmf4ymfg-1 Received: by mail-lj1-f197.google.com with SMTP id v11-20020a2e960b000000b00279e79398c1so1019097ljh.6 for ; Fri, 23 Dec 2022 01:44:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=O/ilai4M3QgWp/aiP99PgiKB7Ff1mnNwaeVXvkxwv+o=; b=kxUPzda7JagBg8u8hHMTs5GTDW3y0dN1P98DhHWshLAb+GHgt8+66Ol+hSJXjOPibH PoZLcg8Ne9iS0spGHE2L9VTPRT1VPhAW/ODCebyWA2eKh2ixrHJxKwX5KI96BCn8Hcmx u5Q60FnY+vPVZnPnJ6mqKNN/vMdk/n/I/KzftiJsvHhTx3e1O9umat10sH/bmKOL0Guw cDAQU7PtCq2YftUBAdaCQo2RtAsrmS+IIRR3NWuJmc3ojz6JoEGUPW0CzD7pbwqkdnu1 ur8ZApsIy34OPhWx+wbv7iXMPVwwKt1SrGItL1CA6JyH0Aul59zsCq/Y2w6GDxGib3JM VsZA== X-Gm-Message-State: AFqh2koMQ0Lgb1RmoYfWV9aLF1LmqHhLrvLgSlw/YevVALkJ58CzCKZl NhzsexwiGgxcykGWPakLfH/5RzZNqovBs09NlZewjFvDuKFW9bJGx5UDn7TdUD792IL/Fk3JmlT FQAYvvmt1UL9pC1ctuehXem+e376vuvE= X-Received: by 2002:ac2:563a:0:b0:4b5:b838:e64b with SMTP id b26-20020ac2563a000000b004b5b838e64bmr462058lff.429.1671788695864; Fri, 23 Dec 2022 01:44:55 -0800 (PST) X-Google-Smtp-Source: AMrXdXuoISY9LjINzjmIxzQ9KTfbcIFA+sv7keKPMnXuFY3uUJK0kGi2b5zr0Z/UUbXTTyWAVzvmP9JHeMCMcNHKzv8= X-Received: by 2002:ac2:563a:0:b0:4b5:b838:e64b with SMTP id b26-20020ac2563a000000b004b5b838e64bmr462054lff.429.1671788695547; Fri, 23 Dec 2022 01:44:55 -0800 (PST) MIME-Version: 1.0 References: <20221222233704.772013-1-jwakely@redhat.com> <20221223021520.B89212043F@pchp3.se.axis.com> In-Reply-To: From: Jonathan Wakely Date: Fri, 23 Dec 2022 09:44:43 +0000 Message-ID: Subject: Re: build broke, cris-elf: [committed] libstdc++: Implement C++20 time zone support in To: Hans-Peter Nilsson Cc: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, 23 Dec 2022 at 09:29, Jonathan Wakely wrote: > > On Fri, 23 Dec 2022 at 02:15, Hans-Peter Nilsson via Libstdc++ > wrote: > > > > > From: Jonathan Wakely via Gcc-patches > > > 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