29 Time library [time] 29.2 Header <chrono> synopsis [time.syn]C++N4910:2022 (672) p1356.cpp

# はじめに(Introduction)
N4910  Working Draft, Standard for Programming Language C++
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/n4910.pdf

n4910は、ISO/IEC JTC1 SC22 WG21の作業原案(Working Draft)です。
公式のISO/IEC 14882原本ではありません。
ISO/IEC JTC1 SC22 WG21では、可能な限り作業文書を公開し、幅広い意見を求めています。
一連の記事はコード断片をコンパイルできる形にする方法を検討してコンパイル、リンク、実行して、規格案の原文と処理系(g++, Clang++)との違いを確認し、技術内容を検討し、ISO/IEC JTC1 SC22 WG21にフィードバックするために用います。
また、CERT C++, MISRA C++等のコーディング標準のコード断片をコンパイルする際の参考にさせていただこうと考えています。CERT C++, MISRA C++が標準化の動きとの時間的なずれがあれば確認できれば幸いです。また、boostライブラリとの関連、Linux OS, TOPPERSカーネル、g++(GCC), clang++(LLVM）との関係も調査中です。
何か、抜け漏れ、耳より情報がありましたらおしらせくださると幸いです。

 <この項は書きかけです。順次追記します。>
## 背景(back ground)
C/C++でコンパイルエラーが出ると、途方にくれることがしばしばあります。
何回かに１回は、該当するエラーが検索できます。
ただ、条件が違っていて、そこでの修正方法では目的を達成しないこともしばしばです。いろいろな条件のコンパイルエラーとその対応方法について、広く記録することによって、いつか同じエラーに遭遇した時にやくに立つことを目指しています。

この半年の間で、三度、自分のネットでの記録に助けられたことがあります。
また過去に解決できなかった記録を１０種類以上、最近になって解決できたことがあります。それは、主に次の３つの情報に基づいています。
https://stackoverflow.com
http://ja.cppreference.com/

cpprefjp - C++日本語リファレンス
https://cpprefjp.github.io/

コンパイラの実装状況
https://cpprefjp.github.io/implementation-status.html

また
https://researchmap.jp/joub9b3my-1797580/#_1797580
に記載したサイトのお世話になっています。

## 作業方針(sequence)
Clang++では-std=c++03, C++2bの2種類
g++では-std=c++03, c++2bの２種類
でコンパイルし、

１）コンパイルエラーを収集する。
２）コンパイルエラーをなくす方法を検討する。
コンパイルエラーになる例を示すだけが目的のコードは、コンパイルエラーをなくすのではなく、コンパイルエラーの種類を収集するだけにする。
文法を示すのが目的のコード場合に、コンパイルエラーをなくすのに手間がかかる場合は、順次作業します。
３）リンクエラーをなくす方法を検討する。
文法を示すのが目的のコード場合に、リンクエラーをなくすのに手間がかかる場合は、順次作業します。
４）意味のある出力を作る。
コンパイル、リンクが通っても、意味のある出力を示そうとすると、コンパイル・リンクエラーが出て収拾できそうにない場合がある。順次作業します。

１）だけのものから４）まで進んだものと色々ある状態です。一歩でも前に進むご助言をお待ちしています。「検討事項」の欄に現状を記録するようにしています。

### C++N4910:2022 Standard Working Draft on ISO/IEC 14882(0) sample code compile list  

https://qiita.com/kaizen_nagoya/items/fc957ddddd402004bb91

### C++N4741, 2018 Standard Working Draft on ISO/IEC 14882 sample code compile list
https://qiita.com/kaizen_nagoya/items/3294c014044550896010

### C++N4606, 2016符号断片編纂一覧(example code compile list)
C++N4606, 2016 Working Draft 2016, ISO/IEC 14882, C++ standard(1) Example code compile list
https://qiita.com/kaizen_nagoya/items/df5d62c35bd6ed1c3d43/

### C++N3242, 2011 sample code compile list on clang++ and g++
https://qiita.com/kaizen_nagoya/items/685b5c1a2c17c1bf1318

## 編纂器(Compiler)
### clang++ --version
> Debian clang version 14.0.5-++20220610033153+c12386ae247c-1~exp1~20220610153237.151
Target: x86_64-pc-linux-gnu, Thread model: posix, InstalledDir: /usr/bin

### g++- --version
> g++ (GCC) 12.1.0  Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# 29 Time library [time] 29.2 Header <chrono> synopsis [time.syn]C++N4910:2022 (672) p1356.cpp

## 算譜(source code)

```c++:p1356.cpp
// C++N4910 Committee Draft, Standard for Programming Language C++
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/n4910.pdf
const char * n4910 = "29 Time library [time] 29.2 Header <chrono> synopsis [time.syn]C++N4910:2022 (672) p1356.cpp";
// Debian clang version 14.0.5-++20220610033153+c12386ae247c-
// g++ (GCC) 12.1.0 Copyright (C) 2022 Free Software Foundation, Inc.
// Edited by Dr. OGAWA Kiyoshi. Compile procedure and results record.
// C++N4910:2022 Standard Working Draft on ISO/IEC 14882(0) sample code compile list
// https://qiita.com/kaizen_nagoya/items/fc957ddddd402004bb91

#include "N4910.h"

using namespace std;

// 29.2 Header <chrono> synopsis
#include <compare> // see 17.11.1
namespace std::chrono {
// 29.5, class template duration
template<class Rep, class Period = ratio<1>> class duration;
// 29.6, class template time_point
template<class Clock, class Duration = typename Clock::duration> class time_point;
}
namespace std {
// 29.4.3, common_type specializations
template<class Rep1, class Period1, class Rep2, class Period2>
struct common_type<chrono::duration<Rep1, Period1>,
           chrono::duration<Rep2, Period2>>;
template<class Clock, class Duration1, class Duration2>
struct common_type<chrono::time_point<Clock, Duration1>,
           chrono::time_point<Clock, Duration2>>;
}
namespace std::chrono {
// 29.4, customization traits
template<class Rep> struct treat_as_floating_point;
template<class Rep>
[time.syn]
inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<Rep>::value;
template<class Rep> struct duration_values;
template<class T> struct is_clock;
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;
// 29.5.6, duration arithmetic
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
        operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
        operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period, class Rep2>
constexpr duration<common_type_t<Rep1, Rep2>, Period>
operator*(const duration<Rep1, Period>& d, const Rep2& s);
template<class Rep1, class Rep2, class Period>
constexpr duration<common_type_t<Rep1, Rep2>, Period>
operator*(const Rep1& s, const duration<Rep2, Period>& d);
template<class Rep1, class Period, class Rep2>
constexpr duration<common_type_t<Rep1, Rep2>, Period>
operator/(const duration<Rep1, Period>& d, const Rep2& s);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr common_type_t<Rep1, Rep2>
operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period, class Rep2>
constexpr duration<common_type_t<Rep1, Rep2>, Period>
operator%(const duration<Rep1, Period>& d, const Rep2& s);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
        operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
// 29.5.7, duration comparisons
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator==(const duration<Rep1, Period1>& lhs,
                          const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator< (const duration<Rep1, Period1>& lhs,
                          const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator> (const duration<Rep1, Period1>& lhs,
                          const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator<=(const duration<Rep1, Period1>& lhs,
                          const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2>
constexpr bool operator>=(const duration<Rep1, Period1>& lhs,
                          const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Rep2, class Period2> requires see below
constexpr auto operator<=>(const duration<Rep1, Period1>& lhs,
                           const duration<Rep2, Period2>& rhs);
// 29.5.8, conversions
template<class ToDuration, class Rep, class Period>
constexpr ToDuration duration_cast(const duration<Rep, Period>& d);
template<class ToDuration, class Rep, class Period>
constexpr ToDuration floor(const duration<Rep, Period>& d);
template<class ToDuration, class Rep, class Period>
constexpr ToDuration ceil(const duration<Rep, Period>& d);
template<class ToDuration, class Rep, class Period>
constexpr ToDuration round(const duration<Rep, Period>& d);
// 29.5.11, duration I/O
template<class charT, class traits, class Rep, class Period>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os,
           const duration<Rep, Period>& d);
template<class charT, class traits, class Rep, class Period, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            duration<Rep, Period>& d,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// convenience typedefs
using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
using microseconds = duration<signed integer type of at least 55 bits, micro>;
using milliseconds = duration<signed integer type of at least 45 bits, milli>;
using seconds = duration<signed integer type of at least 35 bits>;
using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
using days = duration<signed integer type of at least 25 bits,
      ratio_multiply<ratio<24>, hours::period>>;
using weeks = duration<signed integer type of at least 22 bits, ratio_multiply<ratio<7>, days::period>>;
using years = duration<signed integer type of at least 17 bits,
      ratio_multiply<ratio<146097, 400>, days::period>>;
using months = duration<signed integer type of at least 20 bits, ratio_divide<years::period, ratio<12>>>;
// 29.6.6, time_point arithmetic
template<class Clock, class Duration1, class Rep2, class Period2>
constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
template<class Rep1, class Period1, class Clock, class Duration2>
constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
        operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, class Rep2, class Period2>
constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
template<class Clock, class Duration1, class Duration2>
constexpr common_type_t<Duration1, Duration2>
operator-(const time_point<Clock, Duration1>& lhs,
          const time_point<Clock, Duration2>& rhs);
// 29.6.7, time_point comparisons
template<class Clock, class Duration1, class Duration2>
constexpr bool operator==(const time_point<Clock, Duration1>& lhs,
                          const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, class Duration2>
constexpr bool operator< (const time_point<Clock, Duration1>& lhs,
                          const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, class Duration2>
constexpr bool operator> (const time_point<Clock, Duration1>& lhs,
                          const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, class Duration2>
constexpr bool operator<=(const time_point<Clock, Duration1>& lhs,
                          const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, class Duration2>
constexpr bool operator>=(const time_point<Clock, Duration1>& lhs,
                          const time_point<Clock, Duration2>& rhs);
template<class Clock, class Duration1, three_way_comparable_with<Duration1> Duration2>
constexpr auto operator<=>(const time_point<Clock, Duration1>& lhs,
                           const time_point<Clock, Duration2>& rhs);
// 29.6.8, conversions
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration>
time_point_cast(const time_point<Clock, Duration>& t);
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration> floor(const time_point<Clock, Duration>& tp);
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration> ceil(const time_point<Clock, Duration>& tp);
template<class ToDuration, class Clock, class Duration>
constexpr time_point<Clock, ToDuration> round(const time_point<Clock, Duration>& tp);
// 29.5.10, specialized algorithms
template<class Rep, class Period>
constexpr duration<Rep, Period> abs(duration<Rep, Period> d);
// 29.7.2, class system_clock
class system_clock;
template<class Duration>
using sys_time  = time_point<system_clock, Duration>;
using sys_seconds = sys_time<seconds>;
using sys_days    = sys_time<days>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const sys_time<Duration>& tp);
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const sys_days& dp);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            sys_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.7.3, class utc_clock
class utc_clock;
template<class Duration>
using utc_time  = time_point<utc_clock, Duration>;
using utc_seconds = utc_time<seconds>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const utc_time<Duration>& t);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            utc_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
struct leap_second_info;
template<class Duration>
leap_second_info get_leap_second_info(const utc_time<Duration>& ut);
// 29.7.4, class tai_clock
class tai_clock;
template<class Duration>
using tai_time  = time_point<tai_clock, Duration>;
using tai_seconds = tai_time<seconds>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const tai_time<Duration>& t);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            tai_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.7.5, class gps_clock
class gps_clock;
template<class Duration>
using gps_time  = time_point<gps_clock, Duration>;
using gps_seconds = gps_time<seconds>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const gps_time<Duration>& t);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            gps_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.7.6, type file_clock
using file_clock = see below;
template<class Duration>
using file_time = time_point<file_clock, Duration>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const file_time<Duration>& tp);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            file_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.7.7, class steady_clock
class steady_clock;
// 29.7.8, class high_resolution_clock
class high_resolution_clock;
// 29.7.9, local time
struct local_t {};
template<class Duration>
using local_time  = time_point<local_t, Duration>;
using local_seconds = local_time<seconds>;
using local_days    = local_time<days>;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const local_time<Duration>& tp);
template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            local_time<Duration>& tp,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.7.10, time_point conversions
template<class DestClock, class SourceClock>
struct clock_time_conversion;
template<class DestClock, class SourceClock, class Duration>
auto clock_cast(const time_point<SourceClock, Duration>& t);
// 29.8.2, class last_spec
struct last_spec;
// 29.8.3, class day
class day;
constexpr bool operator==(const day& x, const day& y) noexcept;
constexpr strong_ordering operator<=>(const day& x, const day& y) noexcept;
constexpr day  operator+(const day&  x, const days& y) noexcept;
constexpr day  operator+(const days& x, const day&  y) noexcept;
constexpr day  operator-(const day&  x, const days& y) noexcept;
constexpr days operator-(const day&  x, const day&  y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const day& d);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            day& d, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.4, class month
class month;
constexpr bool operator==(const month& x, const month& y) noexcept;
constexpr strong_ordering operator<=>(const month& x, const month& y) noexcept;
constexpr month  operator+(const month&  x, const months& y) noexcept;
constexpr month  operator+(const months& x,  const month& y) noexcept;
constexpr month  operator-(const month&  x, const months& y) noexcept;
constexpr months operator-(const month&  x,  const month& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const month& m);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            month& m, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.5, class year
class year;
constexpr bool operator==(const year& x, const year& y) noexcept;
constexpr strong_ordering operator<=>(const year& x, const year& y) noexcept;
constexpr year  operator+(const year&  x, const years& y) noexcept;
constexpr year  operator+(const years& x, const year&  y) noexcept;
constexpr year  operator-(const year&  x, const years& y) noexcept;
constexpr years operator-(const year&  x, const year&  y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year& y);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            year& y, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.6, class weekday
class weekday;
constexpr bool operator==(const weekday& x, const weekday& y) noexcept;
constexpr weekday operator+(const weekday& x, const days&    y) noexcept;
constexpr weekday operator+(const days&    x, const weekday& y) noexcept;
constexpr weekday operator-(const weekday& x, const days&    y) noexcept;
constexpr days    operator-(const weekday& x, const weekday& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const weekday& wd);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            weekday& wd, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.7, class weekday_indexed
class weekday_indexed;
constexpr bool operator==(const weekday_indexed& x, const weekday_indexed& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const weekday_indexed& wdi);
// 29.8.8, class weekday_last
class weekday_last;
constexpr bool operator==(const weekday_last& x, const weekday_last& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const weekday_last& wdl);
// 29.8.9, class month_day
class month_day;
constexpr bool operator==(const month_day& x, const month_day& y) noexcept;
constexpr strong_ordering operator<=>(const month_day& x, const month_day& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const month_day& md);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            month_day& md, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.10, class month_day_last
class month_day_last;
constexpr bool operator==(const month_day_last& x, const month_day_last& y) noexcept;
constexpr strong_ordering operator<=>(const month_day_last& x,
                                      const month_day_last& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const month_day_last& mdl);
// 29.8.11, class month_weekday
class month_weekday;
constexpr bool operator==(const month_weekday& x, const month_weekday& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const month_weekday& mwd);
// 29.8.12, class month_weekday_last
class month_weekday_last;
constexpr bool operator==(const month_weekday_last& x, const month_weekday_last& y) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const month_weekday_last& mwdl);
// 29.8.13, class year_month
class year_month;
constexpr bool operator==(const year_month& x, const year_month& y) noexcept;
constexpr strong_ordering operator<=>(const year_month& x, const year_month& y) noexcept;
constexpr year_month operator+(const year_month& ym, const months& dm) noexcept;
constexpr year_month operator+(const months& dm, const year_month& ym) noexcept;
constexpr year_month operator-(const year_month& ym, const months& dm) noexcept;
constexpr months operator-(const year_month& x, const year_month& y) noexcept;
constexpr year_month operator+(const year_month& ym, const years& dy) noexcept;
constexpr year_month operator+(const years& dy, const year_month& ym) noexcept;
constexpr year_month operator-(const year_month& ym, const years& dy) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year_month& ym);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            year_month& ym, basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.14, class year_month_day
class year_month_day;
constexpr bool operator==(const year_month_day& x, const year_month_day& y) noexcept;
constexpr strong_ordering operator<=>(const year_month_day& x,
                                      const year_month_day& y) noexcept;
constexpr year_month_day operator+(const year_month_day& ymd, const months& dm) noexcept;
constexpr year_month_day operator+(const months& dm, const year_month_day& ymd) noexcept;
constexpr year_month_day operator+(const year_month_day& ymd, const years& dy) noexcept;
constexpr year_month_day operator+(const years& dy, const year_month_day& ymd) noexcept;
constexpr year_month_day operator-(const year_month_day& ymd, const months& dm) noexcept;
constexpr year_month_day operator-(const year_month_day& ymd, const years& dy) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year_month_day& ymd);
template<class charT, class traits, class Alloc = allocator<charT>>
basic_istream<charT, traits>&
from_stream(basic_istream<charT, traits>& is, const charT* fmt,
            year_month_day& ymd,
            basic_string<charT, traits, Alloc>* abbrev = nullptr,
            minutes* offset = nullptr);
// 29.8.15, class year_month_day_last
class year_month_day_last;
constexpr bool operator==(const year_month_day_last& x,
                          const year_month_day_last& y) noexcept;
constexpr strong_ordering operator<=>(const year_month_day_last& x,
                                      const year_month_day_last& y) noexcept;
constexpr year_month_day_last
operator+(const year_month_day_last& ymdl, const months& dm) noexcept;
constexpr year_month_day_last
operator+(const months& dm, const year_month_day_last& ymdl) noexcept;
constexpr year_month_day_last
operator+(const year_month_day_last& ymdl, const years& dy) noexcept;
constexpr year_month_day_last
operator+(const years& dy, const year_month_day_last& ymdl) noexcept;
constexpr year_month_day_last
operator-(const year_month_day_last& ymdl, const months& dm) noexcept;
constexpr year_month_day_last
operator-(const year_month_day_last& ymdl, const years& dy) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year_month_day_last& ymdl);
// 29.8.16, class year_month_weekday
class year_month_weekday;
constexpr bool operator==(const year_month_weekday& x,
                          const year_month_weekday& y) noexcept;
constexpr year_month_weekday
operator+(const year_month_weekday& ymwd, const months& dm) noexcept;
constexpr year_month_weekday
operator+(const months& dm, const year_month_weekday& ymwd) noexcept;
constexpr year_month_weekday
operator+(const year_month_weekday& ymwd, const years& dy) noexcept;
constexpr year_month_weekday
operator+(const years& dy, const year_month_weekday& ymwd) noexcept;
constexpr year_month_weekday
operator-(const year_month_weekday& ymwd, const months& dm) noexcept;
constexpr year_month_weekday
operator-(const year_month_weekday& ymwd, const years& dy) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year_month_weekday& ymwdi);
// 29.8.17, class year_month_weekday_last
class year_month_weekday_last;
constexpr bool operator==(const year_month_weekday_last& x,
                          const year_month_weekday_last& y) noexcept;
constexpr year_month_weekday_last
operator+(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
constexpr year_month_weekday_last
operator+(const months& dm, const year_month_weekday_last& ymwdl) noexcept;
constexpr year_month_weekday_last
operator+(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
constexpr year_month_weekday_last
operator+(const years& dy, const year_month_weekday_last& ymwdl) noexcept;
constexpr year_month_weekday_last
operator-(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
constexpr year_month_weekday_last
operator-(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const year_month_weekday_last& ymwdl);
// 29.8.18, civil calendar conventional syntax operators
constexpr year_month
operator/(const year& y, const month& m) noexcept;
constexpr year_month
operator/(const year& y, int m) noexcept;
constexpr month_day
operator/(const month& m, const day& d) noexcept;
constexpr month_day
operator/(const month& m, int d) noexcept;
constexpr month_day
operator/(int m, const day& d) noexcept;
constexpr month_day
operator/(const day& d, const month& m) noexcept;
constexpr month_day
operator/(const day& d, int m) noexcept;
constexpr month_day_last
operator/(const month& m, last_spec) noexcept;
constexpr month_day_last
operator/(int m, last_spec) noexcept;
constexpr month_day_last
operator/(last_spec, const month& m) noexcept;
constexpr month_day_last
operator/(last_spec, int m) noexcept;
constexpr month_weekday
operator/(const month& m, const weekday_indexed& wdi) noexcept;
constexpr month_weekday
operator/(int m, const weekday_indexed& wdi) noexcept;
constexpr month_weekday
operator/(const weekday_indexed& wdi, const month& m) noexcept;
constexpr month_weekday
operator/(const weekday_indexed& wdi, int m) noexcept;
constexpr month_weekday_last
operator/(const month& m, const weekday_last& wdl) noexcept;
constexpr month_weekday_last
operator/(int m, const weekday_last& wdl) noexcept;
constexpr month_weekday_last
operator/(const weekday_last& wdl, const month& m) noexcept;
constexpr month_weekday_last
operator/(const weekday_last& wdl, int m) noexcept;
constexpr year_month_day
operator/(const year_month& ym, const day& d) noexcept;
constexpr year_month_day
operator/(const year_month& ym, int d) noexcept;
constexpr year_month_day
operator/(const year& y, const month_day& md) noexcept;
constexpr year_month_day
operator/(int y, const month_day& md) noexcept;
constexpr year_month_day
operator/(const month_day& md, const year& y) noexcept;
constexpr year_month_day
operator/(const month_day& md, int y) noexcept;
constexpr year_month_day_last
operator/(const year_month& ym, last_spec) noexcept;
constexpr year_month_day_last
operator/(const year& y, const month_day_last& mdl) noexcept;
constexpr year_month_day_last
operator/(int y, const month_day_last& mdl) noexcept;
constexpr year_month_day_last
operator/(const month_day_last& mdl, const year& y) noexcept;
constexpr year_month_day_last
operator/(const month_day_last& mdl, int y) noexcept;
constexpr year_month_weekday
operator/(const year_month& ym, const weekday_indexed& wdi) noexcept;
constexpr year_month_weekday
operator/(const year& y, const month_weekday& mwd) noexcept;
constexpr year_month_weekday
operator/(int y, const month_weekday& mwd) noexcept;
constexpr year_month_weekday
operator/(const month_weekday& mwd, const year& y) noexcept;
constexpr year_month_weekday
operator/(const month_weekday& mwd, int y) noexcept;
constexpr year_month_weekday_last
operator/(const year_month& ym, const weekday_last& wdl) noexcept;
constexpr year_month_weekday_last
operator/(const year& y, const month_weekday_last& mwdl) noexcept;
constexpr year_month_weekday_last
operator/(int y, const month_weekday_last& mwdl) noexcept;
constexpr year_month_weekday_last
operator/(const month_weekday_last& mwdl, const year& y) noexcept;
constexpr year_month_weekday_last
operator/(const month_weekday_last& mwdl, int y) noexcept;
// 29.9, class template hh_mm_ss
template<class Duration> class hh_mm_ss;
template<class charT, class traits, class Duration>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const hh_mm_ss<Duration>& hms);
// 29.10, 12/24 hour functions
constexpr bool is_am(const hours& h) noexcept;
constexpr bool is_pm(const hours& h) noexcept;
constexpr hours make12(const hours& h) noexcept;
constexpr hours make24(const hours& h, bool is_pm) noexcept;
// 29.11.2, time zone database
struct tzdb;
class tzdb_list;
// 29.11.2.3, time zone database access
const tzdb& get_tzdb();
tzdb_list& get_tzdb_list();
const time_zone* locate_zone(string_view tz_name);
const time_zone* current_zone();
// 29.11.2.4, remote time zone database support
const tzdb& reload_tzdb();
string remote_version();
// 29.11.3, exception classes
class nonexistent_local_time;
class ambiguous_local_time;
// 29.11.4, information classes
struct sys_info;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const sys_info& si);
struct local_info;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const local_info& li);
// 29.11.5, class time_zone
enum class choose {earliest, latest};
class time_zone;
bool operator==(const time_zone& x, const time_zone& y) noexcept;
strong_ordering operator<=>(const time_zone& x, const time_zone& y) noexcept;
// 29.11.6, class template zoned_traits
template<class T> struct zoned_traits;
// 29.11.7, class template zoned_time
template<class Duration, class TimeZonePtr = const time_zone*> class zoned_time;
using zoned_seconds = zoned_time<seconds>;
template<class Duration1, class Duration2, class TimeZonePtr>
bool operator==(const zoned_time<Duration1, TimeZonePtr>& x,
                const zoned_time<Duration2, TimeZonePtr>& y);
template<class charT, class traits, class Duration, class TimeZonePtr>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os,
           const zoned_time<Duration, TimeZonePtr>& t);
// 29.11.8, leap second support
class leap_second;
constexpr bool operator==(const leap_second& x, const leap_second& y);
constexpr strong_ordering operator<=>(const leap_second& x, const leap_second& y);
template<class Duration>
constexpr bool operator==(const leap_second& x, const sys_time<Duration>& y);
template<class Duration>
constexpr bool operator< (const leap_second& x, const sys_time<Duration>& y);
template<class Duration>
constexpr bool operator< (const sys_time<Duration>& x, const leap_second& y);
template<class Duration>
constexpr bool operator> (const leap_second& x, const sys_time<Duration>& y);
template<class Duration>
constexpr bool operator> (const sys_time<Duration>& x, const leap_second& y);
template<class Duration>
constexpr bool operator<=(const leap_second& x, const sys_time<Duration>& y);
template<class Duration>
constexpr bool operator<=(const sys_time<Duration>& x, const leap_second& y);
template<class Duration>
constexpr bool operator>=(const leap_second& x, const sys_time<Duration>& y);
template<class Duration>
constexpr bool operator>=(const sys_time<Duration>& x, const leap_second& y);
template<class Duration>
requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
        constexpr auto operator<=>(const leap_second& x, const sys_time<Duration>& y);
// 29.11.9, class time_zone_link
class time_zone_link;
bool operator==(const time_zone_link& x, const time_zone_link& y);
strong_ordering operator<=>(const time_zone_link& x, const time_zone_link& y);
// 29.12, formatting
template<class Duration> struct local-time-format-t ; // exposition only
template<class Duration>
local-time-format-t <Duration>
local_time_format(local_time<Duration> time, const string* abbrev = nullptr,
                  const seconds* offset_sec = nullptr);
}
namespace std {
template<class Rep, class Period, class charT>
struct formatter<chrono::duration<Rep, Period>, charT>;
template<class Duration, class charT>
struct formatter<chrono::sys_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::utc_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::tai_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::gps_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::file_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::local_time<Duration>, charT>;
template<class Duration, class charT>
struct formatter<chrono::local-time-format-t<Duration>, charT>;
template<class charT> struct formatter<chrono::day, charT>;
template<class charT> struct formatter<chrono::month, charT>;
template<class charT> struct formatter<chrono::year, charT>;
template<class charT> struct formatter<chrono::weekday, charT>;
template<class charT> struct formatter<chrono::weekday_indexed, charT>;
template<class charT> struct formatter<chrono::weekday_last, charT>;
template<class charT> struct formatter<chrono::month_day, charT>;
template<class charT> struct formatter<chrono::month_day_last, charT>;
template<class charT> struct formatter<chrono::month_weekday, charT>;
template<class charT> struct formatter<chrono::month_weekday_last, charT>;
template<class charT> struct formatter<chrono::year_month, charT>;
template<class charT> struct formatter<chrono::year_month_day, charT>;
template<class charT> struct formatter<chrono::year_month_day_last, charT>;
template<class charT> struct formatter<chrono::year_month_weekday, charT>;
template<class charT> struct formatter<chrono::year_month_weekday_last, charT>;
template<class Rep, class Period, class charT>
struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
template<class charT> struct formatter<chrono::sys_info, charT>;
template<class charT> struct formatter<chrono::local_info, charT>;
template<class Duration, class TimeZonePtr, class charT>
struct formatter<chrono::zoned_time<Duration, TimeZonePtr>, charT>;
}
namespace std::chrono {
// 29.13, parsing
template<class charT, class Parsable>
unspecified
parse(const charT* fmt, Parsable& tp);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const basic_string<charT, traits, Alloc>& fmt, Parsable& tp);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const charT* fmt, Parsable& tp,
      basic_string<charT, traits, Alloc>& abbrev);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const basic_string<charT, traits, Alloc>& fmt, Parsable& tp,
      basic_string<charT, traits, Alloc>& abbrev);
template<class charT, class Parsable>
unspecified
parse(const charT* fmt, Parsable& tp, minutes& offset);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const basic_string<charT, traits, Alloc>& fmt, Parsable& tp,
      minutes& offset);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const charT* fmt, Parsable& tp,
      basic_string<charT, traits, Alloc>& abbrev, minutes& offset);
template<class charT, class traits, class Alloc, class Parsable>
unspecified
parse(const basic_string<charT, traits, Alloc>& fmt, Parsable& tp,
      basic_string<charT, traits, Alloc>& abbrev, minutes& offset);
// calendrical constants
inline constexpr last_spec last{};
inline constexpr weekday Sunday{0};
inline constexpr weekday Monday{1};
inline constexpr weekday Tuesday{2};
inline constexpr weekday Wednesday{3};
inline constexpr weekday Thursday{4};
inline constexpr weekday Friday{5};
inline constexpr weekday Saturday{6};
inline constexpr month January{1};
inline constexpr month February{2};
inline constexpr month March{3};
inline constexpr month April{4};
inline constexpr month May{5};
inline constexpr month June{6};
inline constexpr month July{7};
inline constexpr month August{8};
inline constexpr month September{9};
inline constexpr month October{10};
inline constexpr month November{11};
inline constexpr month December{12};
}
namespace std::inline literals::inline chrono_literals {
// 29.5.9, suffixes for duration literals
constexpr chrono::hours
constexpr chrono::duration<unspecified, ratio<3600, 1>> operator""h(long double);
constexpr chrono::minutes operator""min(unsigned long long);
constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double);
constexpr chrono::seconds operator""s(unsigned long long);
constexpr chrono::duration<unspecified > operator""s(long double);
constexpr chrono::milliseconds operator""ms(unsigned long long);
constexpr chrono::duration<unspecified, milli> operator""ms(long double);
operator""h(unsigned long long);
constexpr chrono::microseconds operator""us(unsigned long long);
constexpr chrono::duration<unspecified, micro> operator""us(long double);
constexpr chrono::nanoseconds operator""ns(unsigned long long);
constexpr chrono::duration<unspecified, nano> operator""ns(long double);
// 29.8.3.3, non-member functions
constexpr chrono::day operator""d(unsigned long long d) noexcept;
// 29.8.5.3, non-member functions
constexpr chrono::year operator""y(unsigned long long y) noexcept;
}
namespace std::chrono {
using namespace literals::chrono_literals;
}
int main() {
    cout  <<  n4910 << endl;
    return EXIT_SUCCESS;
}
```

## 編纂・実行結果(compile and go)

```ubuntu:bash
$ clang++ p1356.cpp -std=03 -o p1356l -I. -Wall
In file included from p1356.cpp:10:
In file included from ./N4910.h:11:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/atomic:38:
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
 ^
p1356.cpp:16:14: warning: nested namespace definition is a C++17 extension; define each namespace separately [-Wc++17-extensions]
namespace std::chrono {
             ^~~~~~~~
              { namespace chrono
p1356.cpp:18:46: error: expected expression
template<class Rep, class Period = ratio<1>> class duration;
                                             ^
p1356.cpp:18:60: error: expected '>'
template<class Rep, class Period = ratio<1>> class duration;
                                                           ^
p1356.cpp:18:41: note: to match this '<'
template<class Rep, class Period = ratio<1>> class duration;
                                        ^
p1356.cpp:18:60: error: expected ',' or '>' in template-parameter-list
template<class Rep, class Period = ratio<1>> class duration;
                                                           ^
p1356.cpp:18:60: error: declaration does not declare anything
p1356.cpp:25:34: error: no member named 'duration' in namespace 'std::chrono'
      struct common_type<chrono::duration<Rep1, Period1>,
                         ~~~~~~~~^
p1356.cpp:25:43: error: 'Rep1' does not refer to a value
      struct common_type<chrono::duration<Rep1, Period1>,
                                          ^
p1356.cpp:24:16: note: declared here
template<class Rep1, class Period1, class Rep2, class Period2>
               ^
p1356.cpp:25:14: error: explicit specialization of undeclared template struct 'common_type'
      struct common_type<chrono::duration<Rep1, Period1>,
             ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p1356.cpp:25:57: error: expected unqualified-id
      struct common_type<chrono::duration<Rep1, Period1>,
                                                        ^
p1356.cpp:29:61: error: a space is required between consecutive right angle brackets (use '> >')
                         chrono::time_point<Clock, Duration2>>;
                                                            ^~
                                                            > >
p1356.cpp:28:14: error: explicit specialization of non-template struct 'common_type'
      struct common_type<chrono::time_point<Clock, Duration1>,
             ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p1356.cpp:28:14: error: redefinition of 'common_type' as different kind of symbol
p1356.cpp:25:14: note: previous definition is here
      struct common_type<chrono::duration<Rep1, Period1>,
             ^
p1356.cpp:81:24: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr auto operator<=>(const duration<Rep1, Period1>& lhs,
                       ^
                          
p1356.cpp:147:27: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
   constexpr auto operator<=>(const time_point<Clock, Duration1>& lhs,
                          ^
                             
p1356.cpp:266:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const day& x, const day& y) noexcept;
                                  ^
                                     
p1356.cpp:282:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const month& x, const month& y) noexcept;
                                  ^
                                     
p1356.cpp:298:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const year& x, const year& y) noexcept;
                                  ^
                                     
p1356.cpp:341:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const month_day& x, const month_day& y) noexcept;
                                  ^
                                     
p1356.cpp:353:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const month_day_last& x,
                                  ^
                                     
p1356.cpp:373:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const year_month& x, const year_month& y) noexcept;
                                  ^
                                     
p1356.cpp:392:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const year_month_day& x,
                                  ^
                                     
p1356.cpp:413:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const year_month_day_last& x,
                                  ^
                                     
p1356.cpp:584:25: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
strong_ordering operator<=>(const time_zone& x, const time_zone& y) noexcept;
                        ^
                           
p1356.cpp:600:35: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
constexpr strong_ordering operator<=>(const leap_second& x, const leap_second& y);
                                  ^
                                     
p1356.cpp:621:26: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
  constexpr auto operator<=>(const leap_second& x, const sys_time<Duration>& y);
                         ^
                            
p1356.cpp:625:27: warning: '<=>' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]
  strong_ordering operator<=>(const time_zone_link& x, const time_zone_link& y);
                          ^
                             
p1356.cpp:31:16: warning: nested namespace definition is a C++17 extension; define each namespace separately [-Wc++17-extensions]
  namespace std::chrono {
               ^~~~~~~~
                { namespace chrono
p1356.cpp:34:6: error: member reference base type 'time_t (time_t *) throw()' (aka 'long (long *) throw()') is not a structure or union
[time.syn]
 ~~~~^~~~
p1356.cpp:35:3: error: expected unqualified-id
  inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<Rep>::value;
  ^
p1356.cpp:38:26: error: unknown type name 'constexpr'
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;
                         ^
p1356.cpp:38:41: warning: variable templates are a C++14 extension [-Wc++14-extensions]
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;
                                        ^
p1356.cpp:38:19: warning: inline variables are a C++17 extension [-Wc++17-extensions]
template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;
                  ^
p1356.cpp:41:3: error: unknown type name 'constexpr'
  constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
  ^
p1356.cpp:41:27: error: use of undeclared identifier 'duration'
  constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
                          ^
p1356.cpp:42:86: error: expected '>'
    operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
                                                                                     ^
p1356.cpp:41:26: note: to match this '<'
  constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
                         ^
p1356.cpp:42:86: error: expected unqualified-id
    operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
                                                                                     ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
18 warnings and 20 errors generated.
$ clang++ p1356.cpp -std=2b -o p1356l -I. -Wall
p1356.cpp:18:36: error: no template named 'ratio'
template<class Rep, class Period = ratio<1>> class duration;
                                   ^
p1356.cpp:34:6: error: member reference base type 'time_t (time_t *) throw()' (aka 'long (long *) throw()') is not a structure or union
[time.syn]
 ~~~~^~~~
p1356.cpp:35:3: error: expected unqualified-id
  inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<Rep>::value;
  ^
p1356.cpp:80:73: error: use of undeclared identifier 'see'
template<class Rep1, class Period1, class Rep2, class Period2> requires see below
                                                                        ^
p1356.cpp:102:17: error: unknown type name 'minutes'
                minutes* offset = nullptr);
                ^
p1356.cpp:104:36: error: expected '>'
using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
                                   ^
p1356.cpp:104:29: note: to match this '<'
using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
                            ^
p1356.cpp:104:36: error: expected ';' after alias declaration
using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
                                   ^
                                   ;
p1356.cpp:105:37: error: expected '>'
using microseconds = duration<signed integer type of at least 55 bits, micro>;
                                    ^
p1356.cpp:105:30: note: to match this '<'
using microseconds = duration<signed integer type of at least 55 bits, micro>;
                             ^
p1356.cpp:105:37: error: expected ';' after alias declaration
using microseconds = duration<signed integer type of at least 55 bits, micro>;
                                    ^
                                    ;
p1356.cpp:106:37: error: expected '>'
using milliseconds = duration<signed integer type of at least 45 bits, milli>;
                                    ^
p1356.cpp:106:30: note: to match this '<'
using milliseconds = duration<signed integer type of at least 45 bits, milli>;
                             ^
p1356.cpp:106:37: error: expected ';' after alias declaration
using milliseconds = duration<signed integer type of at least 45 bits, milli>;
                                    ^
                                    ;
p1356.cpp:107:32: error: expected '>'
using seconds = duration<signed integer type of at least 35 bits>;
                               ^
p1356.cpp:107:25: note: to match this '<'
using seconds = duration<signed integer type of at least 35 bits>;
                        ^
p1356.cpp:107:32: error: expected ';' after alias declaration
using seconds = duration<signed integer type of at least 35 bits>;
                               ^
                               ;
p1356.cpp:108:32: error: expected '>'
using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
                               ^
p1356.cpp:108:25: note: to match this '<'
using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
                        ^
p1356.cpp:108:32: error: expected ';' after alias declaration
using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
                               ^
                               ;
p1356.cpp:109:30: error: expected '>'
using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
                             ^
p1356.cpp:109:23: note: to match this '<'
using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
                      ^
p1356.cpp:109:30: error: expected ';' after alias declaration
using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
                             ^
                             ;
p1356.cpp:110:29: error: expected '>'
using days = duration<signed integer type of at least 25 bits,
                            ^
p1356.cpp:110:22: note: to match this '<'
using days = duration<signed integer type of at least 25 bits,
                     ^
p1356.cpp:110:29: error: expected ';' after alias declaration
using days = duration<signed integer type of at least 25 bits,
                            ^
                            ;
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

$ g++ p1356.cpp -std=03 -o p1356g -I. -Wall
In file included from /usr/local/include/c++/12.1.0/atomic:38,
                 from N4910.h:11,
                 from p1356.cpp:10:
/usr/local/include/c++/12.1.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
   32 | #error This file requires compiler and library support \
      |  ^~~~~
p1356.cpp:35:10: warning: identifier 'constexpr' is a keyword in C++11 [-Wc++11-compat]
   35 |   inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<Rep>::value;
      |          ^~~~~~~~~
p1356.cpp:101:62: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++11-compat]
  101 |                 basic_string<charT, traits, Alloc>* abbrev = nullptr,
      |                                                              ^~~~~~~
p1356.cpp:265:55: warning: identifier 'noexcept' is a keyword in C++11 [-Wc++11-compat]
  265 | constexpr bool operator==(const day& x, const day& y) noexcept;
      |                                                       ^~~~~~~~
p1356.cpp:18:36: error: 'ratio' does not name a type
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                    ^~~~~
p1356.cpp:18:41: error: expected '>' before '<' token
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                         ^
p1356.cpp:18:60: error: expected unqualified-id before ';' token
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                                            ^
p1356.cpp:25:14: error: 'common_type' is not a class template
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |              ^~~~~~~~~~~
p1356.cpp:25:34: error: 'duration' is not a member of 'std::chrono'
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |                                  ^~~~~~~~
p1356.cpp:25:34: error: 'duration' is not a member of 'std::chrono'
p1356.cpp:25:25: error: expected ';' before ',' token
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |                         ^                               ~
      |                         ;
p1356.cpp:28:14: error: 'common_type' is not a class template
   28 |       struct common_type<chrono::time_point<Clock, Duration1>,
      |              ^~~~~~~~~~~
p1356.cpp:29:61: error: '>>' should be '> >' within a nested template argument list
   29 |                          chrono::time_point<Clock, Duration2>>;
      |                                                             ^~
      |                                                             > >
p1356.cpp:28:14: error: 'std::common_type' is not a template
   28 |       struct common_type<chrono::time_point<Clock, Duration1>,
      |              ^~~~~~~~~~~
p1356.cpp:25:14: note: previous declaration here
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |              ^~~~~~~~~~~
p1356.cpp:34:1: error: expected unqualified-id before '[' token
   34 | [time.syn]
      | ^
p1356.cpp:38:26: error: 'constexpr' does not name a type
   38 | template<class T> inline constexpr bool is_clock_v = is_clock<T>::value;
      |                          ^~~~~~~~~
p1356.cpp:38:26: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:41:3: error: 'constexpr' does not name a type
   41 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |   ^~~~~~~~~
p1356.cpp:41:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:44:3: error: 'constexpr' does not name a type
   44 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |   ^~~~~~~~~
p1356.cpp:44:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:47:3: error: 'constexpr' does not name a type
   47 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |   ^~~~~~~~~
p1356.cpp:47:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:50:3: error: 'constexpr' does not name a type
   50 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |   ^~~~~~~~~
p1356.cpp:50:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:53:3: error: 'constexpr' does not name a type
   53 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |   ^~~~~~~~~
p1356.cpp:53:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:56:3: error: 'constexpr' does not name a type
   56 |   constexpr common_type_t<Rep1, Rep2>
      |   ^~~~~~~~~
p1356.cpp:56:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:59:3: error: 'constexpr' does not name a type
   59 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |   ^~~~~~~~~
p1356.cpp:59:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:62:3: error: 'constexpr' does not name a type
   62 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |   ^~~~~~~~~
p1356.cpp:62:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:66:3: error: 'constexpr' does not name a type
   66 |   constexpr bool operator==(const duration<Rep1, Period1>& lhs,
      |   ^~~~~~~~~
p1356.cpp:66:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:69:3: error: 'constexpr' does not name a type
   69 |   constexpr bool operator< (const duration<Rep1, Period1>& lhs,
      |   ^~~~~~~~~
p1356.cpp:69:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:72:3: error: 'constexpr' does not name a type
   72 |   constexpr bool operator> (const duration<Rep1, Period1>& lhs,
      |   ^~~~~~~~~
p1356.cpp:72:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:75:3: error: 'constexpr' does not name a type
   75 |   constexpr bool operator<=(const duration<Rep1, Period1>& lhs,
      |   ^~~~~~~~~
p1356.cpp:75:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:78:3: error: 'constexpr' does not name a type
   78 |   constexpr bool operator>=(const duration<Rep1, Period1>& lhs,
      |   ^~~~~~~~~
p1356.cpp:78:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:80:64: error: 'requires' does not name a type
   80 | template<class Rep1, class Period1, class Rep2, class Period2> requires see below
      |                                                                ^~~~~~~~
p1356.cpp:80:64: note: 'requires' only available with '-std=c++20' or '-fconcepts'
p1356.cpp:85:3: error: 'constexpr' does not name a type
   85 |   constexpr ToDuration duration_cast(const duration<Rep, Period>& d);
      |   ^~~~~~~~~
p1356.cpp:85:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:87:3: error: 'constexpr' does not name a type
   87 |   constexpr ToDuration floor(const duration<Rep, Period>& d);
      |   ^~~~~~~~~
p1356.cpp:87:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:89:3: error: 'constexpr' does not name a type
   89 |   constexpr ToDuration ceil(const duration<Rep, Period>& d);
      |   ^~~~~~~~~
p1356.cpp:89:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:91:3: error: 'constexpr' does not name a type
   91 |   constexpr ToDuration round(const duration<Rep, Period>& d);
      |   ^~~~~~~~~
p1356.cpp:91:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:96:22: error: 'duration' does not name a type
   96 |                const duration<Rep, Period>& d);
      |                      ^~~~~~~~
p1356.cpp:96:30: error: expected ',' or '...' before '<' token
   96 |                const duration<Rep, Period>& d);
      |                              ^
p1356.cpp:97:91: error: spurious '>>', use '>' to terminate a template argument list
   97 | template<class charT, class traits, class Rep, class Period, class Alloc = allocator<charT>>
      |                                                                                           ^~
p1356.cpp:97:76: error: two or more data types in declaration of 'type name'
   97 | template<class charT, class traits, class Rep, class Period, class Alloc = allocator<charT>>
      |                                                                            ^~~~~~~~~~~~~~~~~
p1356.cpp:99:5: error: expected '>' before 'from_stream'
   99 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:102:43: error: expected unqualified-id before ';' token
  102 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:104:7: error: expected nested-name-specifier before 'nanoseconds'
  104 | using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
      |       ^~~~~~~~~~~
p1356.cpp:105:7: error: expected nested-name-specifier before 'microseconds'
  105 | using microseconds = duration<signed integer type of at least 55 bits, micro>;
      |       ^~~~~~~~~~~~
p1356.cpp:106:7: error: expected nested-name-specifier before 'milliseconds'
  106 | using milliseconds = duration<signed integer type of at least 45 bits, milli>;
      |       ^~~~~~~~~~~~
p1356.cpp:107:7: error: expected nested-name-specifier before 'seconds'
  107 | using seconds = duration<signed integer type of at least 35 bits>;
      |       ^~~~~~~
p1356.cpp:108:7: error: expected nested-name-specifier before 'minutes'
  108 | using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
      |       ^~~~~~~
p1356.cpp:109:7: error: expected nested-name-specifier before 'hours'
  109 | using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
      |       ^~~~~
p1356.cpp:110:7: error: expected nested-name-specifier before 'days'
  110 | using days = duration<signed integer type of at least 25 bits,
      |       ^~~~
p1356.cpp:112:7: error: expected nested-name-specifier before 'weeks'
  112 | using weeks = duration<signed integer type of at least 22 bits, ratio_multiply<ratio<7>, days::period>>;
      |       ^~~~~
p1356.cpp:113:7: error: expected nested-name-specifier before 'years'
  113 | using years = duration<signed integer type of at least 17 bits,
      |       ^~~~~
p1356.cpp:115:7: error: expected nested-name-specifier before 'months'
  115 | using months = duration<signed integer type of at least 20 bits, ratio_divide<years::period, ratio<12>>>;
      |       ^~~~~~
p1356.cpp:118:3: error: 'constexpr' does not name a type
  118 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |   ^~~~~~~~~
p1356.cpp:118:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:121:3: error: 'constexpr' does not name a type
  121 |   constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
      |   ^~~~~~~~~
p1356.cpp:121:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:124:3: error: 'constexpr' does not name a type
  124 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |   ^~~~~~~~~
p1356.cpp:124:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:127:3: error: 'constexpr' does not name a type
  127 |   constexpr common_type_t<Duration1, Duration2>
      |   ^~~~~~~~~
p1356.cpp:127:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:132:4: error: 'constexpr' does not name a type
  132 |    constexpr bool operator==(const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:132:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:135:4: error: 'constexpr' does not name a type
  135 |    constexpr bool operator< (const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:135:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:138:4: error: 'constexpr' does not name a type
  138 |    constexpr bool operator> (const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:138:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:141:4: error: 'constexpr' does not name a type
  141 |    constexpr bool operator<=(const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:141:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:144:4: error: 'constexpr' does not name a type
  144 |    constexpr bool operator>=(const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:144:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:146:40: error: 'three_way_comparable_with' has not been declared
  146 | template<class Clock, class Duration1, three_way_comparable_with<Duration1> Duration2>
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
p1356.cpp:146:65: error: expected '>' before '<' token
  146 | template<class Clock, class Duration1, three_way_comparable_with<Duration1> Duration2>
      |                                                                 ^
p1356.cpp:147:4: error: 'constexpr' does not name a type
  147 |    constexpr auto operator<=>(const time_point<Clock, Duration1>& lhs,
      |    ^~~~~~~~~
p1356.cpp:147:4: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:151:3: error: 'constexpr' does not name a type
  151 |   constexpr time_point<Clock, ToDuration>
      |   ^~~~~~~~~
p1356.cpp:151:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:154:3: error: 'constexpr' does not name a type
  154 |   constexpr time_point<Clock, ToDuration> floor(const time_point<Clock, Duration>& tp);
      |   ^~~~~~~~~
p1356.cpp:154:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:156:3: error: 'constexpr' does not name a type
  156 |   constexpr time_point<Clock, ToDuration> ceil(const time_point<Clock, Duration>& tp);
      |   ^~~~~~~~~
p1356.cpp:156:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:158:3: error: 'constexpr' does not name a type
  158 |   constexpr time_point<Clock, ToDuration> round(const time_point<Clock, Duration>& tp);
      |   ^~~~~~~~~
p1356.cpp:158:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:161:3: error: 'constexpr' does not name a type
  161 |   constexpr duration<Rep, Period> abs(duration<Rep, Period> d);
      |   ^~~~~~~~~
p1356.cpp:161:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:165:3: error: expected unqualified-id before 'using'
  165 |   using sys_time  = time_point<system_clock, Duration>;
      |   ^~~~~
p1356.cpp:166:7: error: expected nested-name-specifier before 'sys_seconds'
  166 | using sys_seconds = sys_time<seconds>;
      |       ^~~~~~~~~~~
p1356.cpp:167:7: error: expected nested-name-specifier before 'sys_days'
  167 | using sys_days    = sys_time<days>;
      |       ^~~~~~~~
p1356.cpp:170:56: error: 'sys_time' does not name a type
  170 |     operator<<(basic_ostream<charT, traits>& os, const sys_time<Duration>& tp);
      |                                                        ^~~~~~~~
p1356.cpp:170:64: error: expected ',' or '...' before '<' token
  170 |     operator<<(basic_ostream<charT, traits>& os, const sys_time<Duration>& tp);
      |                                                                ^
p1356.cpp:173:56: error: 'sys_days' does not name a type
  173 |     operator<<(basic_ostream<charT, traits>& os, const sys_days& dp);
      |                                                        ^~~~~~~~
p1356.cpp:174:82: error: spurious '>>', use '>' to terminate a template argument list
  174 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:174:67: error: two or more data types in declaration of 'type name'
  174 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:176:5: error: expected '>' before 'from_stream'
  176 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:179:43: error: expected unqualified-id before ';' token
  179 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:183:3: error: expected unqualified-id before 'using'
  183 |   using utc_time  = time_point<utc_clock, Duration>;
      |   ^~~~~
p1356.cpp:184:7: error: expected nested-name-specifier before 'utc_seconds'
  184 | using utc_seconds = utc_time<seconds>;
      |       ^~~~~~~~~~~
p1356.cpp:187:56: error: 'utc_time' does not name a type
  187 |     operator<<(basic_ostream<charT, traits>& os, const utc_time<Duration>& t);
      |                                                        ^~~~~~~~
p1356.cpp:187:64: error: expected ',' or '...' before '<' token
  187 |     operator<<(basic_ostream<charT, traits>& os, const utc_time<Duration>& t);
      |                                                                ^
p1356.cpp:188:82: error: spurious '>>', use '>' to terminate a template argument list
  188 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:188:67: error: two or more data types in declaration of 'type name'
  188 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:190:5: error: expected '>' before 'from_stream'
  190 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:193:43: error: expected unqualified-id before ';' token
  193 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:196:47: error: 'utc_time' does not name a type
  196 |   leap_second_info get_leap_second_info(const utc_time<Duration>& ut);
      |                                               ^~~~~~~~
p1356.cpp:196:55: error: expected ',' or '...' before '<' token
  196 |   leap_second_info get_leap_second_info(const utc_time<Duration>& ut);
      |                                                       ^
p1356.cpp:200:3: error: expected unqualified-id before 'using'
  200 |   using tai_time  = time_point<tai_clock, Duration>;
      |   ^~~~~
p1356.cpp:201:7: error: expected nested-name-specifier before 'tai_seconds'
  201 | using tai_seconds = tai_time<seconds>;
      |       ^~~~~~~~~~~
p1356.cpp:204:52: error: 'tai_time' does not name a type
  204 | operator<<(basic_ostream<charT, traits>& os, const tai_time<Duration>& t);
      |                                                    ^~~~~~~~
p1356.cpp:204:60: error: expected ',' or '...' before '<' token
  204 | operator<<(basic_ostream<charT, traits>& os, const tai_time<Duration>& t);
      |                                                            ^
p1356.cpp:205:82: error: spurious '>>', use '>' to terminate a template argument list
  205 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:205:67: error: two or more data types in declaration of 'type name'
  205 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:207:5: error: expected '>' before 'from_stream'
  207 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:210:43: error: expected unqualified-id before ';' token
  210 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:214:3: error: expected unqualified-id before 'using'
  214 |   using gps_time  = time_point<gps_clock, Duration>;
      |   ^~~~~
p1356.cpp:215:7: error: expected nested-name-specifier before 'gps_seconds'
  215 | using gps_seconds = gps_time<seconds>;
      |       ^~~~~~~~~~~
p1356.cpp:218:56: error: 'gps_time' does not name a type
  218 |     operator<<(basic_ostream<charT, traits>& os, const gps_time<Duration>& t);
      |                                                        ^~~~~~~~
p1356.cpp:218:64: error: expected ',' or '...' before '<' token
  218 |     operator<<(basic_ostream<charT, traits>& os, const gps_time<Duration>& t);
      |                                                                ^
p1356.cpp:219:82: error: spurious '>>', use '>' to terminate a template argument list
  219 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:219:67: error: two or more data types in declaration of 'type name'
  219 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:221:5: error: expected '>' before 'from_stream'
  221 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:224:43: error: expected unqualified-id before ';' token
  224 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:226:7: error: expected nested-name-specifier before 'file_clock'
  226 | using file_clock = see below;
      |       ^~~~~~~~~~
p1356.cpp:228:3: error: expected unqualified-id before 'using'
  228 |   using file_time = time_point<file_clock, Duration>;
      |   ^~~~~
p1356.cpp:231:56: error: 'file_time' does not name a type
  231 |     operator<<(basic_ostream<charT, traits>& os, const file_time<Duration>& tp);
      |                                                        ^~~~~~~~~
p1356.cpp:231:65: error: expected ',' or '...' before '<' token
  231 |     operator<<(basic_ostream<charT, traits>& os, const file_time<Duration>& tp);
      |                                                                 ^
p1356.cpp:232:82: error: spurious '>>', use '>' to terminate a template argument list
  232 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:232:67: error: two or more data types in declaration of 'type name'
  232 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:234:5: error: expected '>' before 'from_stream'
  234 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:237:43: error: expected unqualified-id before ';' token
  237 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:244:3: error: expected unqualified-id before 'using'
  244 |   using local_time  = time_point<local_t, Duration>;
      |   ^~~~~
p1356.cpp:245:7: error: expected nested-name-specifier before 'local_seconds'
  245 | using local_seconds = local_time<seconds>;
      |       ^~~~~~~~~~~~~
p1356.cpp:246:7: error: expected nested-name-specifier before 'local_days'
  246 | using local_days    = local_time<days>;
      |       ^~~~~~~~~~
p1356.cpp:249:56: error: 'local_time' does not name a type; did you mean 'local_t'?
  249 |     operator<<(basic_ostream<charT, traits>& os, const local_time<Duration>& tp);
      |                                                        ^~~~~~~~~~
      |                                                        local_t
p1356.cpp:249:66: error: expected ',' or '...' before '<' token
  249 |     operator<<(basic_ostream<charT, traits>& os, const local_time<Duration>& tp);
      |                                                                  ^
p1356.cpp:250:82: error: spurious '>>', use '>' to terminate a template argument list
  250 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                                  ^~
p1356.cpp:250:67: error: two or more data types in declaration of 'type name'
  250 | template<class charT, class traits, class Duration, class Alloc = allocator<charT>>
      |                                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:252:5: error: expected '>' before 'from_stream'
  252 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:255:43: error: expected unqualified-id before ';' token
  255 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:260:3: warning: 'auto' changes meaning in C++11; please remove it [-Wc++11-compat]
  260 |   auto clock_cast(const time_point<SourceClock, Duration>& t);
      |   ^~~~
      |   ----
p1356.cpp:260:8: error: ISO C++ forbids declaration of 'clock_cast' with no type [-fpermissive]
  260 |   auto clock_cast(const time_point<SourceClock, Duration>& t);
      |        ^~~~~~~~~~
p1356.cpp:260:3: error: top-level declaration of 'clock_cast' specifies 'auto'
  260 |   auto clock_cast(const time_point<SourceClock, Duration>& t);
      |   ^~~~
p1356.cpp:260:3: error: storage class 'auto' invalid for function 'clock_cast'
p1356.cpp:265:1: error: 'constexpr' does not name a type
  265 | constexpr bool operator==(const day& x, const day& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:265:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:266:1: error: 'constexpr' does not name a type
  266 | constexpr strong_ordering operator<=>(const day& x, const day& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:266:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:267:1: error: 'constexpr' does not name a type
  267 | constexpr day  operator+(const day&  x, const days& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:267:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:268:1: error: 'constexpr' does not name a type
  268 | constexpr day  operator+(const days& x, const day&  y) noexcept;
      | ^~~~~~~~~
p1356.cpp:268:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:269:1: error: 'constexpr' does not name a type
  269 | constexpr day  operator-(const day&  x, const days& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:269:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:270:1: error: 'constexpr' does not name a type
  270 | constexpr days operator-(const day&  x, const day&  y) noexcept;
      | ^~~~~~~~~
p1356.cpp:270:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:274:66: error: spurious '>>', use '>' to terminate a template argument list
  274 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:274:51: error: two or more data types in declaration of 'type name'
  274 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:276:5: error: expected '>' before 'from_stream'
  276 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:278:43: error: expected unqualified-id before ';' token
  278 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:281:1: error: 'constexpr' does not name a type
  281 | constexpr bool operator==(const month& x, const month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:281:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:282:1: error: 'constexpr' does not name a type
  282 | constexpr strong_ordering operator<=>(const month& x, const month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:282:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:283:1: error: 'constexpr' does not name a type
  283 | constexpr month  operator+(const month&  x, const months& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:283:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:284:1: error: 'constexpr' does not name a type
  284 | constexpr month  operator+(const months& x,  const month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:284:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:285:1: error: 'constexpr' does not name a type
  285 | constexpr month  operator-(const month&  x, const months& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:285:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:286:1: error: 'constexpr' does not name a type
  286 | constexpr months operator-(const month&  x,  const month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:286:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:290:66: error: spurious '>>', use '>' to terminate a template argument list
  290 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:290:51: error: two or more data types in declaration of 'type name'
  290 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:292:5: error: expected '>' before 'from_stream'
  292 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:294:43: error: expected unqualified-id before ';' token
  294 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:297:1: error: 'constexpr' does not name a type
  297 | constexpr bool operator==(const year& x, const year& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:297:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:298:1: error: 'constexpr' does not name a type
  298 | constexpr strong_ordering operator<=>(const year& x, const year& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:298:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:299:1: error: 'constexpr' does not name a type
  299 | constexpr year  operator+(const year&  x, const years& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:299:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:300:1: error: 'constexpr' does not name a type
  300 | constexpr year  operator+(const years& x, const year&  y) noexcept;
      | ^~~~~~~~~
p1356.cpp:300:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:301:1: error: 'constexpr' does not name a type
  301 | constexpr year  operator-(const year&  x, const years& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:301:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:302:1: error: 'constexpr' does not name a type
  302 | constexpr years operator-(const year&  x, const year&  y) noexcept;
      | ^~~~~~~~~
p1356.cpp:302:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:306:66: error: spurious '>>', use '>' to terminate a template argument list
  306 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:306:51: error: two or more data types in declaration of 'type name'
  306 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:308:5: error: expected '>' before 'from_stream'
  308 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:310:43: error: expected unqualified-id before ';' token
  310 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:313:1: error: 'constexpr' does not name a type
  313 | constexpr bool operator==(const weekday& x, const weekday& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:313:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:314:1: error: 'constexpr' does not name a type
  314 | constexpr weekday operator+(const weekday& x, const days&    y) noexcept;
      | ^~~~~~~~~
p1356.cpp:314:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:315:1: error: 'constexpr' does not name a type
  315 | constexpr weekday operator+(const days&    x, const weekday& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:315:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:316:1: error: 'constexpr' does not name a type
  316 | constexpr weekday operator-(const weekday& x, const days&    y) noexcept;
      | ^~~~~~~~~
p1356.cpp:316:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:317:1: error: 'constexpr' does not name a type
  317 | constexpr days    operator-(const weekday& x, const weekday& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:317:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:321:66: error: spurious '>>', use '>' to terminate a template argument list
  321 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:321:51: error: two or more data types in declaration of 'type name'
  321 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:323:5: error: expected '>' before 'from_stream'
  323 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:325:43: error: expected unqualified-id before ';' token
  325 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:328:1: error: 'constexpr' does not name a type
  328 | constexpr bool operator==(const weekday_indexed& x, const weekday_indexed& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:328:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:334:1: error: 'constexpr' does not name a type
  334 | constexpr bool operator==(const weekday_last& x, const weekday_last& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:334:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:340:1: error: 'constexpr' does not name a type
  340 | constexpr bool operator==(const month_day& x, const month_day& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:340:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:341:1: error: 'constexpr' does not name a type
  341 | constexpr strong_ordering operator<=>(const month_day& x, const month_day& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:341:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:345:66: error: spurious '>>', use '>' to terminate a template argument list
  345 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:345:51: error: two or more data types in declaration of 'type name'
  345 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:347:5: error: expected '>' before 'from_stream'
  347 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:349:43: error: expected unqualified-id before ';' token
  349 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:352:1: error: 'constexpr' does not name a type
  352 | constexpr bool operator==(const month_day_last& x, const month_day_last& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:352:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:353:1: error: 'constexpr' does not name a type
  353 | constexpr strong_ordering operator<=>(const month_day_last& x,
      | ^~~~~~~~~
p1356.cpp:353:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:360:1: error: 'constexpr' does not name a type
  360 | constexpr bool operator==(const month_weekday& x, const month_weekday& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:360:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:366:1: error: 'constexpr' does not name a type
  366 | constexpr bool operator==(const month_weekday_last& x, const month_weekday_last& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:366:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:372:1: error: 'constexpr' does not name a type
  372 | constexpr bool operator==(const year_month& x, const year_month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:372:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:373:1: error: 'constexpr' does not name a type
  373 | constexpr strong_ordering operator<=>(const year_month& x, const year_month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:373:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:374:1: error: 'constexpr' does not name a type
  374 | constexpr year_month operator+(const year_month& ym, const months& dm) noexcept;
      | ^~~~~~~~~
p1356.cpp:374:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:375:1: error: 'constexpr' does not name a type
  375 | constexpr year_month operator+(const months& dm, const year_month& ym) noexcept;
      | ^~~~~~~~~
p1356.cpp:375:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:376:1: error: 'constexpr' does not name a type
  376 | constexpr year_month operator-(const year_month& ym, const months& dm) noexcept;
      | ^~~~~~~~~
p1356.cpp:376:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:377:1: error: 'constexpr' does not name a type
  377 | constexpr months operator-(const year_month& x, const year_month& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:377:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:378:1: error: 'constexpr' does not name a type
  378 | constexpr year_month operator+(const year_month& ym, const years& dy) noexcept;
      | ^~~~~~~~~
p1356.cpp:378:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:379:1: error: 'constexpr' does not name a type
  379 | constexpr year_month operator+(const years& dy, const year_month& ym) noexcept;
      | ^~~~~~~~~
p1356.cpp:379:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:380:1: error: 'constexpr' does not name a type
  380 | constexpr year_month operator-(const year_month& ym, const years& dy) noexcept;
      | ^~~~~~~~~
p1356.cpp:380:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:384:66: error: spurious '>>', use '>' to terminate a template argument list
  384 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:384:51: error: two or more data types in declaration of 'type name'
  384 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:386:5: error: expected '>' before 'from_stream'
  386 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:388:43: error: expected unqualified-id before ';' token
  388 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:391:1: error: 'constexpr' does not name a type
  391 | constexpr bool operator==(const year_month_day& x, const year_month_day& y) noexcept;
      | ^~~~~~~~~
p1356.cpp:391:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:392:1: error: 'constexpr' does not name a type
  392 | constexpr strong_ordering operator<=>(const year_month_day& x,
      | ^~~~~~~~~
p1356.cpp:392:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:394:1: error: 'constexpr' does not name a type
  394 | constexpr year_month_day operator+(const year_month_day& ymd, const months& dm) noexcept;
      | ^~~~~~~~~
p1356.cpp:394:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:395:1: error: 'constexpr' does not name a type
  395 | constexpr year_month_day operator+(const months& dm, const year_month_day& ymd) noexcept;
      | ^~~~~~~~~
p1356.cpp:395:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:396:1: error: 'constexpr' does not name a type
  396 | constexpr year_month_day operator+(const year_month_day& ymd, const years& dy) noexcept;
      | ^~~~~~~~~
p1356.cpp:396:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:397:1: error: 'constexpr' does not name a type
  397 | constexpr year_month_day operator+(const years& dy, const year_month_day& ymd) noexcept;
      | ^~~~~~~~~
p1356.cpp:397:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:398:1: error: 'constexpr' does not name a type
  398 | constexpr year_month_day operator-(const year_month_day& ymd, const months& dm) noexcept;
      | ^~~~~~~~~
p1356.cpp:398:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:399:1: error: 'constexpr' does not name a type
  399 | constexpr year_month_day operator-(const year_month_day& ymd, const years& dy) noexcept;
      | ^~~~~~~~~
p1356.cpp:399:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:403:66: error: spurious '>>', use '>' to terminate a template argument list
  403 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                                  ^~
p1356.cpp:403:51: error: two or more data types in declaration of 'type name'
  403 | template<class charT, class traits, class Alloc = allocator<charT>>
      |                                                   ^~~~~~~~~~~~~~~~~
p1356.cpp:405:5: error: expected '>' before 'from_stream'
  405 |     from_stream(basic_istream<charT, traits>& is, const charT* fmt,
      |     ^~~~~~~~~~~
p1356.cpp:408:43: error: expected unqualified-id before ';' token
  408 |                 minutes* offset = nullptr);
      |                                           ^
p1356.cpp:411:1: error: 'constexpr' does not name a type
  411 | constexpr bool operator==(const year_month_day_last& x,
      | ^~~~~~~~~
p1356.cpp:411:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:413:1: error: 'constexpr' does not name a type
  413 | constexpr strong_ordering operator<=>(const year_month_day_last& x,
      | ^~~~~~~~~
p1356.cpp:413:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:415:1: error: 'constexpr' does not name a type
  415 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:415:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:417:1: error: 'constexpr' does not name a type
  417 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:417:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:419:1: error: 'constexpr' does not name a type
  419 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:419:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:421:1: error: 'constexpr' does not name a type
  421 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:421:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:423:1: error: 'constexpr' does not name a type
  423 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:423:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:425:1: error: 'constexpr' does not name a type
  425 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:425:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:432:1: error: 'constexpr' does not name a type
  432 | constexpr bool operator==(const year_month_weekday& x,
      | ^~~~~~~~~
p1356.cpp:432:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:434:1: error: 'constexpr' does not name a type
  434 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:434:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:436:1: error: 'constexpr' does not name a type
  436 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:436:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:438:1: error: 'constexpr' does not name a type
  438 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:438:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:440:1: error: 'constexpr' does not name a type
  440 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:440:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:442:1: error: 'constexpr' does not name a type
  442 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:442:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:444:1: error: 'constexpr' does not name a type
  444 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:444:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:451:1: error: 'constexpr' does not name a type
  451 | constexpr bool operator==(const year_month_weekday_last& x,
      | ^~~~~~~~~
p1356.cpp:451:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:453:1: error: 'constexpr' does not name a type
  453 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:453:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:455:1: error: 'constexpr' does not name a type
  455 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:455:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:457:1: error: 'constexpr' does not name a type
  457 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:457:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:459:1: error: 'constexpr' does not name a type
  459 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:459:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:461:1: error: 'constexpr' does not name a type
  461 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:461:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:463:1: error: 'constexpr' does not name a type
  463 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:463:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:469:1: error: 'constexpr' does not name a type
  469 | constexpr year_month
      | ^~~~~~~~~
p1356.cpp:469:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:471:1: error: 'constexpr' does not name a type
  471 | constexpr year_month
      | ^~~~~~~~~
p1356.cpp:471:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:473:1: error: 'constexpr' does not name a type
  473 | constexpr month_day
      | ^~~~~~~~~
p1356.cpp:473:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:475:1: error: 'constexpr' does not name a type
  475 | constexpr month_day
      | ^~~~~~~~~
p1356.cpp:475:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:477:1: error: 'constexpr' does not name a type
  477 | constexpr month_day
      | ^~~~~~~~~
p1356.cpp:477:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:479:1: error: 'constexpr' does not name a type
  479 | constexpr month_day
      | ^~~~~~~~~
p1356.cpp:479:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:481:1: error: 'constexpr' does not name a type
  481 | constexpr month_day
      | ^~~~~~~~~
p1356.cpp:481:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:483:1: error: 'constexpr' does not name a type
  483 | constexpr month_day_last
      | ^~~~~~~~~
p1356.cpp:483:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:485:1: error: 'constexpr' does not name a type
  485 | constexpr month_day_last
      | ^~~~~~~~~
p1356.cpp:485:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:487:1: error: 'constexpr' does not name a type
  487 | constexpr month_day_last
      | ^~~~~~~~~
p1356.cpp:487:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:489:1: error: 'constexpr' does not name a type
  489 | constexpr month_day_last
      | ^~~~~~~~~
p1356.cpp:489:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:491:1: error: 'constexpr' does not name a type
  491 | constexpr month_weekday
      | ^~~~~~~~~
p1356.cpp:491:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:493:1: error: 'constexpr' does not name a type
  493 | constexpr month_weekday
      | ^~~~~~~~~
p1356.cpp:493:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:495:1: error: 'constexpr' does not name a type
  495 | constexpr month_weekday
      | ^~~~~~~~~
p1356.cpp:495:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:497:1: error: 'constexpr' does not name a type
  497 | constexpr month_weekday
      | ^~~~~~~~~
p1356.cpp:497:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:499:1: error: 'constexpr' does not name a type
  499 | constexpr month_weekday_last
      | ^~~~~~~~~
p1356.cpp:499:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:501:1: error: 'constexpr' does not name a type
  501 | constexpr month_weekday_last
      | ^~~~~~~~~
p1356.cpp:501:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:503:1: error: 'constexpr' does not name a type
  503 | constexpr month_weekday_last
      | ^~~~~~~~~
p1356.cpp:503:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:505:1: error: 'constexpr' does not name a type
  505 | constexpr month_weekday_last
      | ^~~~~~~~~
p1356.cpp:505:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:507:1: error: 'constexpr' does not name a type
  507 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:507:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:509:1: error: 'constexpr' does not name a type
  509 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:509:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:511:1: error: 'constexpr' does not name a type
  511 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:511:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:513:1: error: 'constexpr' does not name a type
  513 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:513:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:515:1: error: 'constexpr' does not name a type
  515 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:515:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:517:1: error: 'constexpr' does not name a type
  517 | constexpr year_month_day
      | ^~~~~~~~~
p1356.cpp:517:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:519:1: error: 'constexpr' does not name a type
  519 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:519:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:521:1: error: 'constexpr' does not name a type
  521 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:521:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:523:1: error: 'constexpr' does not name a type
  523 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:523:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:525:1: error: 'constexpr' does not name a type
  525 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:525:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:527:1: error: 'constexpr' does not name a type
  527 | constexpr year_month_day_last
      | ^~~~~~~~~
p1356.cpp:527:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:529:1: error: 'constexpr' does not name a type
  529 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:529:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:531:1: error: 'constexpr' does not name a type
  531 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:531:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:533:1: error: 'constexpr' does not name a type
  533 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:533:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:535:1: error: 'constexpr' does not name a type
  535 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:535:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:537:1: error: 'constexpr' does not name a type
  537 | constexpr year_month_weekday
      | ^~~~~~~~~
p1356.cpp:537:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:539:1: error: 'constexpr' does not name a type
  539 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:539:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:541:1: error: 'constexpr' does not name a type
  541 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:541:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:543:1: error: 'constexpr' does not name a type
  543 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:543:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:545:1: error: 'constexpr' does not name a type
  545 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:545:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:547:1: error: 'constexpr' does not name a type
  547 | constexpr year_month_weekday_last
      | ^~~~~~~~~
p1356.cpp:547:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:555:1: error: 'constexpr' does not name a type
  555 | constexpr bool is_am(const hours& h) noexcept;
      | ^~~~~~~~~
p1356.cpp:555:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:556:1: error: 'constexpr' does not name a type
  556 | constexpr bool is_pm(const hours& h) noexcept;
      | ^~~~~~~~~
p1356.cpp:556:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:557:1: error: 'constexpr' does not name a type
  557 | constexpr hours make12(const hours& h) noexcept;
      | ^~~~~~~~~
p1356.cpp:557:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:558:1: error: 'constexpr' does not name a type
  558 | constexpr hours make24(const hours& h, bool is_pm) noexcept;
      | ^~~~~~~~~
p1356.cpp:558:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:565:7: error: 'time_zone' does not name a type; did you mean 'time_point'?
  565 | const time_zone* locate_zone(string_view tz_name); const time_zone* current_zone();
      |       ^~~~~~~~~
      |       time_point
p1356.cpp:565:58: error: 'time_zone' does not name a type; did you mean 'time_point'?
  565 | const time_zone* locate_zone(string_view tz_name); const time_zone* current_zone();
      |                                                          ^~~~~~~~~
      |                                                          time_point
p1356.cpp:582:1: warning: scoped enums only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions]
  582 | enum class choose {earliest, latest}; class time_zone;
      | ^~~~
p1356.cpp:583:57: error: expected initializer before 'noexcept'
  583 | bool operator==(const time_zone& x, const time_zone& y) noexcept;
      |                                                         ^~~~~~~~
p1356.cpp:584:1: error: 'strong_ordering' does not name a type
  584 | strong_ordering operator<=>(const time_zone& x, const time_zone& y) noexcept;
      | ^~~~~~~~~~~~~~~
p1356.cpp:589:7: error: expected nested-name-specifier before 'zoned_seconds'
  589 | using zoned_seconds = zoned_time<seconds>;
      |       ^~~~~~~~~~~~~
p1356.cpp:599:1: error: 'constexpr' does not name a type
  599 | constexpr bool operator==(const leap_second& x, const leap_second& y);
      | ^~~~~~~~~
p1356.cpp:599:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:600:1: error: 'constexpr' does not name a type
  600 | constexpr strong_ordering operator<=>(const leap_second& x, const leap_second& y);
      | ^~~~~~~~~
p1356.cpp:600:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:602:3: error: 'constexpr' does not name a type
  602 |   constexpr bool operator==(const leap_second& x, const sys_time<Duration>& y);
      |   ^~~~~~~~~
p1356.cpp:602:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:604:3: error: 'constexpr' does not name a type
  604 |   constexpr bool operator< (const leap_second& x, const sys_time<Duration>& y);
      |   ^~~~~~~~~
p1356.cpp:604:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:606:3: error: 'constexpr' does not name a type
  606 |   constexpr bool operator< (const sys_time<Duration>& x, const leap_second& y);
      |   ^~~~~~~~~
p1356.cpp:606:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:608:3: error: 'constexpr' does not name a type
  608 |   constexpr bool operator> (const leap_second& x, const sys_time<Duration>& y);
      |   ^~~~~~~~~
p1356.cpp:608:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:610:3: error: 'constexpr' does not name a type
  610 |   constexpr bool operator> (const sys_time<Duration>& x, const leap_second& y);
      |   ^~~~~~~~~
p1356.cpp:610:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:612:3: error: 'constexpr' does not name a type
  612 |   constexpr bool operator<=(const leap_second& x, const sys_time<Duration>& y);
      |   ^~~~~~~~~
p1356.cpp:612:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:614:3: error: 'constexpr' does not name a type
  614 |   constexpr bool operator<=(const sys_time<Duration>& x, const leap_second& y);
      |   ^~~~~~~~~
p1356.cpp:614:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:616:3: error: 'constexpr' does not name a type
  616 |   constexpr bool operator>=(const leap_second& x, const sys_time<Duration>& y);
      |   ^~~~~~~~~
p1356.cpp:616:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:618:3: error: 'constexpr' does not name a type
  618 |   constexpr bool operator>=(const sys_time<Duration>& x, const leap_second& y);
      |   ^~~~~~~~~
p1356.cpp:618:3: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:620:3: error: 'requires' does not name a type
  620 |   requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
      |   ^~~~~~~~
p1356.cpp:620:3: note: 'requires' only available with '-std=c++20' or '-fconcepts'
p1356.cpp:625:3: error: 'strong_ordering' does not name a type
  625 |   strong_ordering operator<=>(const time_zone_link& x, const time_zone_link& y);
      |   ^~~~~~~~~~~~~~~
p1356.cpp:627:38: error: expected unqualified-id before '-' token
  627 | template<class Duration> struct local-time-format-t ; // exposition only
      |                                      ^
p1356.cpp:629:6: error: expected unqualified-id before '-' token
  629 | local-time-format-t <Duration>
      |      ^
p1356.cpp:635:12: error: 'formatter' is not a class template
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:635:30: error: 'duration' is not a member of 'std::chrono'
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |                              ^~~~~~~~
p1356.cpp:635:30: error: 'duration' is not a member of 'std::chrono'
p1356.cpp:635:21: error: expected ';' before ',' token
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |                     ^                             ~
      |                     ;
p1356.cpp:637:12: error: 'formatter' is not a class template
  637 |     struct formatter<chrono::sys_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:637:30: error: 'sys_time' is not a member of 'std::chrono'
  637 |     struct formatter<chrono::sys_time<Duration>, charT>;
      |                              ^~~~~~~~
p1356.cpp:637:30: error: 'sys_time' is not a member of 'std::chrono'
p1356.cpp:637:21: error: expected ';' before ',' token
  637 |     struct formatter<chrono::sys_time<Duration>, charT>;
      |                     ^                          ~
      |                     ;
p1356.cpp:639:12: error: 'formatter' is not a class template
  639 |     struct formatter<chrono::utc_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:639:30: error: 'utc_time' is not a member of 'std::chrono'
  639 |     struct formatter<chrono::utc_time<Duration>, charT>;
      |                              ^~~~~~~~
p1356.cpp:639:30: error: 'utc_time' is not a member of 'std::chrono'
p1356.cpp:639:21: error: expected ';' before ',' token
  639 |     struct formatter<chrono::utc_time<Duration>, charT>;
      |                     ^                          ~
      |                     ;
p1356.cpp:641:12: error: 'formatter' is not a class template
  641 |     struct formatter<chrono::tai_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:641:30: error: 'tai_time' is not a member of 'std::chrono'
  641 |     struct formatter<chrono::tai_time<Duration>, charT>;
      |                              ^~~~~~~~
p1356.cpp:641:30: error: 'tai_time' is not a member of 'std::chrono'
p1356.cpp:641:21: error: expected ';' before ',' token
  641 |     struct formatter<chrono::tai_time<Duration>, charT>;
      |                     ^                          ~
      |                     ;
p1356.cpp:643:12: error: 'formatter' is not a class template
  643 |     struct formatter<chrono::gps_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:643:30: error: 'gps_time' is not a member of 'std::chrono'
  643 |     struct formatter<chrono::gps_time<Duration>, charT>;
      |                              ^~~~~~~~
p1356.cpp:643:30: error: 'gps_time' is not a member of 'std::chrono'
p1356.cpp:643:21: error: expected ';' before ',' token
  643 |     struct formatter<chrono::gps_time<Duration>, charT>;
      |                     ^                          ~
      |                     ;
p1356.cpp:645:12: error: 'formatter' is not a class template
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:645:30: error: 'file_time' is not a member of 'std::chrono'
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |                              ^~~~~~~~~
p1356.cpp:645:30: error: 'file_time' is not a member of 'std::chrono'
p1356.cpp:645:21: error: expected ';' before ',' token
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |                     ^                           ~
      |                     ;
p1356.cpp:647:12: error: 'formatter' is not a class template
  647 |     struct formatter<chrono::local_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:647:30: error: 'local_time' is not a member of 'std::chrono'; did you mean 'local_t'?
  647 |     struct formatter<chrono::local_time<Duration>, charT>;
      |                              ^~~~~~~~~~
      |                              local_t
p1356.cpp:647:30: error: 'local_time' is not a member of 'std::chrono'; did you mean 'local_t'?
  647 |     struct formatter<chrono::local_time<Duration>, charT>;
      |                              ^~~~~~~~~~
      |                              local_t
p1356.cpp:647:21: error: expected ';' before ',' token
  647 |     struct formatter<chrono::local_time<Duration>, charT>;
      |                     ^                            ~
      |                     ;
p1356.cpp:649:8: error: 'formatter' is not a class template
  649 | struct formatter<chrono::local-time-format-t<Duration>, charT>; template<class charT> struct formatter<chrono::day, charT>;
      |        ^~~~~~~~~
p1356.cpp:649:8: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:649:94: error: 'formatter' is not a class template
  649 | t formatter<chrono::local-time-format-t<Duration>, charT>; template<class charT> struct formatter<chrono::day, charT>;
      |                                                                                         ^~~~~~~~~

p1356.cpp:649:94: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:650:30: error: 'formatter' is not a class template
  650 | template<class charT> struct formatter<chrono::month, charT>;
      |                              ^~~~~~~~~
p1356.cpp:650:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:651:30: error: 'formatter' is not a class template
  651 | template<class charT> struct formatter<chrono::year, charT>;
      |                              ^~~~~~~~~
p1356.cpp:651:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:652:30: error: 'formatter' is not a class template
  652 | template<class charT> struct formatter<chrono::weekday, charT>;
      |                              ^~~~~~~~~
p1356.cpp:652:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:30: error: 'formatter' is not a class template
  653 | template<class charT> struct formatter<chrono::weekday_indexed, charT>; template<class charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                              ^~~~~~~~~
p1356.cpp:653:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:102: error: 'formatter' is not a class template
  653 | s charT> struct formatter<chrono::weekday_indexed, charT>; template<class charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:102: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:171: error: 'formatter' is not a class template
  653 | lass charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:171: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:237: error: 'formatter' is not a class template
  653 | e<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:237: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:308: error: 'formatter' is not a class template
  653 | ss charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:308: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:378: error: 'formatter' is not a class template
  653 | ass charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:378: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:453: error: 'formatter' is not a class template
  653 | harT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:453: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:520: error: 'formatter' is not a class template
  653 | <class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:520: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:591: error: 'formatter' is not a class template
  653 | ss charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:591: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:667: error: 'formatter' is not a class template
  653 | arT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:667: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:742: error: 'formatter' is not a class template
  653 | harT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:742: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:654:12: error: 'formatter' is not a class template
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |            ^~~~~~~~~
p1356.cpp:654:39: error: 'duration' was not declared in this scope
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                                       ^~~~~~~~
p1356.cpp:654:59: error: '>>' should be '> >' within a nested template argument list
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                                                           ^~
      |                                                           > >
p1356.cpp:654:53: error: wrong number of template arguments (2, should be 1)
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                                                     ^~~~~~
p1356.cpp:550:32: note: provided for 'template<class Duration> class std::chrono::hh_mm_ss'
  550 | template<class Duration> class hh_mm_ss;
      |                                ^~~~~~~~
p1356.cpp:654:21: error: expected ';' before ',' token
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                     ^                                       ~
      |                     ;
p1356.cpp:655:32: error: 'formatter' is not a class template
  655 |   template<class charT> struct formatter<chrono::sys_info, charT>;
      |                                ^~~~~~~~~
p1356.cpp:655:32: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:656:32: error: 'formatter' is not a class template
  656 |   template<class charT> struct formatter<chrono::local_info, charT>;
      |                                ^~~~~~~~~
p1356.cpp:656:32: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:658:12: error: 'formatter' is not a class template
  658 |     struct formatter<chrono::zoned_time<Duration, TimeZonePtr>, charT>;
      |            ^~~~~~~~~
p1356.cpp:658:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:663:1: error: 'unspecified' does not name a type
  663 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:666:1: error: 'unspecified' does not name a type
  666 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:669:1: error: 'unspecified' does not name a type
  669 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:673:1: error: 'unspecified' does not name a type
  673 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:677:1: error: 'unspecified' does not name a type
  677 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:680:1: error: 'unspecified' does not name a type
  680 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:684:1: error: 'unspecified' does not name a type
  684 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:688:1: error: 'unspecified' does not name a type
  688 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:692:8: error: 'constexpr' does not name a type
  692 | inline constexpr last_spec last{};
      |        ^~~~~~~~~
p1356.cpp:692:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:693:8: error: 'constexpr' does not name a type
  693 | inline constexpr weekday Sunday{0};
      |        ^~~~~~~~~
p1356.cpp:693:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:694:8: error: 'constexpr' does not name a type
  694 | inline constexpr weekday Monday{1};
      |        ^~~~~~~~~
p1356.cpp:694:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:695:8: error: 'constexpr' does not name a type
  695 | inline constexpr weekday Tuesday{2};
      |        ^~~~~~~~~
p1356.cpp:695:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:696:8: error: 'constexpr' does not name a type
  696 | inline constexpr weekday Wednesday{3};
      |        ^~~~~~~~~
p1356.cpp:696:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:697:8: error: 'constexpr' does not name a type
  697 | inline constexpr weekday Thursday{4};
      |        ^~~~~~~~~
p1356.cpp:697:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:698:8: error: 'constexpr' does not name a type
  698 | inline constexpr weekday Friday{5};
      |        ^~~~~~~~~
p1356.cpp:698:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:699:8: error: 'constexpr' does not name a type
  699 | inline constexpr weekday Saturday{6};
      |        ^~~~~~~~~
p1356.cpp:699:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:700:8: error: 'constexpr' does not name a type
  700 | inline constexpr month January{1};
      |        ^~~~~~~~~
p1356.cpp:700:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:701:8: error: 'constexpr' does not name a type
  701 | inline constexpr month February{2};
      |        ^~~~~~~~~
p1356.cpp:701:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:702:8: error: 'constexpr' does not name a type
  702 | inline constexpr month March{3};
      |        ^~~~~~~~~
p1356.cpp:702:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:703:8: error: 'constexpr' does not name a type
  703 | inline constexpr month April{4};
      |        ^~~~~~~~~
p1356.cpp:703:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:704:8: error: 'constexpr' does not name a type
  704 | inline constexpr month May{5};
      |        ^~~~~~~~~
p1356.cpp:704:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:705:8: error: 'constexpr' does not name a type
  705 | inline constexpr month June{6};
      |        ^~~~~~~~~
p1356.cpp:705:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:706:8: error: 'constexpr' does not name a type
  706 | inline constexpr month July{7};
      |        ^~~~~~~~~
p1356.cpp:706:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:707:8: error: 'constexpr' does not name a type
  707 | inline constexpr month August{8};
      |        ^~~~~~~~~
p1356.cpp:707:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:708:8: error: 'constexpr' does not name a type
  708 | inline constexpr month September{9};
      |        ^~~~~~~~~
p1356.cpp:708:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:709:8: error: 'constexpr' does not name a type
  709 | inline constexpr month October{10};
      |        ^~~~~~~~~
p1356.cpp:709:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:710:8: error: 'constexpr' does not name a type
  710 | inline constexpr month November{11};
      |        ^~~~~~~~~
p1356.cpp:710:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:711:8: error: 'constexpr' does not name a type
  711 | inline constexpr month December{12};
      |        ^~~~~~~~~
p1356.cpp:711:8: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:715:1: error: 'constexpr' does not name a type
  715 | constexpr chrono::hours
      | ^~~~~~~~~
p1356.cpp:715:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:717:1: error: 'constexpr' does not name a type
  717 | constexpr chrono::minutes operator""min(unsigned long long); constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double);
      | ^~~~~~~~~
p1356.cpp:717:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:717:62: error: 'constexpr' does not name a type
  717 | constexpr chrono::minutes operator""min(unsigned long long); constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double);
      |                                                              ^~~~~~~~~
p1356.cpp:717:62: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:718:1: error: 'constexpr' does not name a type
  718 | constexpr chrono::seconds operator""s(unsigned long long); constexpr chrono::duration<unspecified > operator""s(long double);
      | ^~~~~~~~~
p1356.cpp:718:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:718:60: error: 'constexpr' does not name a type
  718 | constexpr chrono::seconds operator""s(unsigned long long); constexpr chrono::duration<unspecified > operator""s(long double);
      |                                                            ^~~~~~~~~
p1356.cpp:718:60: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:719:1: error: 'constexpr' does not name a type
  719 | constexpr chrono::milliseconds operator""ms(unsigned long long); constexpr chrono::duration<unspecified, milli> operator""ms(long double);
      | ^~~~~~~~~
p1356.cpp:719:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:719:66: error: 'constexpr' does not name a type
  719 | constexpr chrono::milliseconds operator""ms(unsigned long long); constexpr chrono::duration<unspecified, milli> operator""ms(long double);
      |                                                                  ^~~~~~~~~
p1356.cpp:719:66: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:720:1: warning: user-defined literals only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions]
  720 | operator""h(unsigned long long);
      | ^~~~~~~~
p1356.cpp:720:1: warning: user-defined literals only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions]
p1356.cpp:720:1: warning: user-defined literals only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions]
p1356.cpp:720:1: warning: user-defined literals only available with '-std=c++11' or '-std=gnu++11' [-Wc++11-extensions]
p1356.cpp:720:32: error: expected constructor, destructor, or type conversion before ';' token
  720 | operator""h(unsigned long long);
      |                                ^
p1356.cpp:721:1: error: 'constexpr' does not name a type
  721 | constexpr chrono::microseconds operator""us(unsigned long long); constexpr chrono::duration<unspecified, micro> operator""us(long double);
      | ^~~~~~~~~
p1356.cpp:721:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:721:66: error: 'constexpr' does not name a type
  721 | constexpr chrono::microseconds operator""us(unsigned long long); constexpr chrono::duration<unspecified, micro> operator""us(long double);
      |                                                                  ^~~~~~~~~
p1356.cpp:721:66: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:722:1: error: 'constexpr' does not name a type
  722 | constexpr chrono::nanoseconds operator""ns(unsigned long long); constexpr chrono::duration<unspecified, nano> operator""ns(long double);
      | ^~~~~~~~~
p1356.cpp:722:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:722:65: error: 'constexpr' does not name a type
  722 | constexpr chrono::nanoseconds operator""ns(unsigned long long); constexpr chrono::duration<unspecified, nano> operator""ns(long double);
      |                                                                 ^~~~~~~~~
p1356.cpp:722:65: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:724:1: error: 'constexpr' does not name a type
  724 | constexpr chrono::day operator""d(unsigned long long d) noexcept;
      | ^~~~~~~~~
p1356.cpp:724:1: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'
p1356.cpp:726:5: error: 'constexpr' does not name a type
  726 |     constexpr chrono::year operator""y(unsigned long long y) noexcept;
      |     ^~~~~~~~~
p1356.cpp:726:5: note: C++11 'constexpr' only available with '-std=c++11' or '-std=gnu++11'

$ g++ p1356.cpp -std=2b -o p1356g -I. -Wall
p1356.cpp:18:36: error: 'ratio' does not name a type
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                    ^~~~~
p1356.cpp:18:41: error: expected '>' before '<' token
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                         ^
p1356.cpp:18:60: error: expected unqualified-id before ';' token
   18 | template<class Rep, class Period = ratio<1>> class duration;
      |                                                            ^
p1356.cpp:25:34: error: 'duration' is not a member of 'std::chrono'
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |                                  ^~~~~~~~
p1356.cpp:25:56: error: template argument 1 is invalid
   25 |       struct common_type<chrono::duration<Rep1, Period1>,
      |                                                        ^
p1356.cpp:34:1: error: expected unqualified-id before '[' token
   34 | [time.syn]
      | ^
p1356.cpp:41:27: error: 'duration' was not declared in this scope
   41 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                           ^~~~~~~~
p1356.cpp:41:49: error: template argument 1 is invalid
   41 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                 ^
p1356.cpp:41:50: error: expected unqualified-id before ',' token
   41 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                  ^
p1356.cpp:44:27: error: 'duration' was not declared in this scope
   44 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                           ^~~~~~~~
p1356.cpp:44:49: error: template argument 1 is invalid
   44 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                 ^
p1356.cpp:44:50: error: expected unqualified-id before ',' token
   44 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                  ^
p1356.cpp:47:13: error: 'duration' does not name a type
   47 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |             ^~~~~~~~
p1356.cpp:50:13: error: 'duration' does not name a type
   50 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |             ^~~~~~~~
p1356.cpp:53:13: error: 'duration' does not name a type
   53 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |             ^~~~~~~~
p1356.cpp:57:21: error: 'duration' does not name a type
   57 |     operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
      |                     ^~~~~~~~
p1356.cpp:57:29: error: expected ',' or '...' before '<' token
   57 |     operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
      |                             ^
p1356.cpp:57:5: error: 'constexpr std::common_type_t<Rep1, Rep2> std::chrono::operator/(int)' must have an argument of class or enumerated type
   57 |     operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
      |     ^~~~~~~~
p1356.cpp:59:13: error: 'duration' does not name a type
   59 |   constexpr duration<common_type_t<Rep1, Rep2>, Period>
      |             ^~~~~~~~
p1356.cpp:62:27: error: 'duration' was not declared in this scope
   62 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                           ^~~~~~~~
p1356.cpp:62:49: error: template argument 1 is invalid
   62 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                 ^
p1356.cpp:62:50: error: expected unqualified-id before ',' token
   62 |   constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>
      |                                                  ^
p1356.cpp:66:35: error: 'duration' does not name a type
   66 |   constexpr bool operator==(const duration<Rep1, Period1>& lhs,
      |                                   ^~~~~~~~
p1356.cpp:66:43: error: expected ',' or '...' before '<' token
   66 |   constexpr bool operator==(const duration<Rep1, Period1>& lhs,
      |                                           ^
p1356.cpp:66:18: error: 'constexpr bool std::chrono::operator==(int)' must have an argument of class or enumerated type
   66 |   constexpr bool operator==(const duration<Rep1, Period1>& lhs,
      |                  ^~~~~~~~
p1356.cpp:69:35: error: 'duration' does not name a type
   69 |   constexpr bool operator< (const duration<Rep1, Period1>& lhs,
      |                                   ^~~~~~~~
p1356.cpp:69:43: error: expected ',' or '...' before '<' token
   69 |   constexpr bool operator< (const duration<Rep1, Period1>& lhs,
      |                                           ^
p1356.cpp:69:18: error: 'constexpr bool std::chrono::operator<(int)' must have an argument of class or enumerated type
   69 |   constexpr bool operator< (const duration<Rep1, Period1>& lhs,
      |                  ^~~~~~~~
p1356.cpp:72:35: error: 'duration' does not name a type
   72 |   constexpr bool operator> (const duration<Rep1, Period1>& lhs,
      |                                   ^~~~~~~~
p1356.cpp:72:43: error: expected ',' or '...' before '<' token
   72 |   constexpr bool operator> (const duration<Rep1, Period1>& lhs,
      |                                           ^
p1356.cpp:72:18: error: 'constexpr bool std::chrono::operator>(int)' must have an argument of class or enumerated type
   72 |   constexpr bool operator> (const duration<Rep1, Period1>& lhs,
      |                  ^~~~~~~~
p1356.cpp:75:35: error: 'duration' does not name a type
   75 |   constexpr bool operator<=(const duration<Rep1, Period1>& lhs,
      |                                   ^~~~~~~~
p1356.cpp:75:43: error: expected ',' or '...' before '<' token
   75 |   constexpr bool operator<=(const duration<Rep1, Period1>& lhs,
      |                                           ^
p1356.cpp:75:18: error: 'constexpr bool std::chrono::operator<=(int)' must have an argument of class or enumerated type
   75 |   constexpr bool operator<=(const duration<Rep1, Period1>& lhs,
      |                  ^~~~~~~~
p1356.cpp:78:35: error: 'duration' does not name a type
   78 |   constexpr bool operator>=(const duration<Rep1, Period1>& lhs,
      |                                   ^~~~~~~~
p1356.cpp:78:43: error: expected ',' or '...' before '<' token
   78 |   constexpr bool operator>=(const duration<Rep1, Period1>& lhs,
      |                                           ^
p1356.cpp:78:18: error: 'constexpr bool std::chrono::operator>=(int)' must have an argument of class or enumerated type
   78 |   constexpr bool operator>=(const duration<Rep1, Period1>& lhs,
      |                  ^~~~~~~~
p1356.cpp:80:77: error: 'below' does not name a type
   80 | template<class Rep1, class Period1, class Rep2, class Period2> requires see below
      |                                                                             ^~~~~
p1356.cpp:85:44: error: 'duration' does not name a type; did you mean 'ToDuration'?
   85 |   constexpr ToDuration duration_cast(const duration<Rep, Period>& d);
      |                                            ^~~~~~~~
      |                                            ToDuration
p1356.cpp:85:52: error: expected ',' or '...' before '<' token
   85 |   constexpr ToDuration duration_cast(const duration<Rep, Period>& d);
      |                                                    ^
p1356.cpp:87:36: error: 'duration' does not name a type; did you mean 'ToDuration'?
   87 |   constexpr ToDuration floor(const duration<Rep, Period>& d);
      |                                    ^~~~~~~~
      |                                    ToDuration
p1356.cpp:87:44: error: expected ',' or '...' before '<' token
   87 |   constexpr ToDuration floor(const duration<Rep, Period>& d);
      |                                            ^
p1356.cpp:89:35: error: 'duration' does not name a type; did you mean 'ToDuration'?
   89 |   constexpr ToDuration ceil(const duration<Rep, Period>& d);
      |                                   ^~~~~~~~
      |                                   ToDuration
p1356.cpp:89:43: error: expected ',' or '...' before '<' token
   89 |   constexpr ToDuration ceil(const duration<Rep, Period>& d);
      |                                           ^
p1356.cpp:91:36: error: 'duration' does not name a type; did you mean 'ToDuration'?
   91 |   constexpr ToDuration round(const duration<Rep, Period>& d);
      |                                    ^~~~~~~~
      |                                    ToDuration
p1356.cpp:91:44: error: expected ',' or '...' before '<' token
   91 |   constexpr ToDuration round(const duration<Rep, Period>& d);
      |                                            ^
p1356.cpp:96:22: error: 'duration' does not name a type
   96 |                const duration<Rep, Period>& d);
      |                      ^~~~~~~~
p1356.cpp:96:30: error: expected ',' or '...' before '<' token
   96 |                const duration<Rep, Period>& d);
      |                              ^
p1356.cpp:100:17: error: 'duration' has not been declared
  100 |                 duration<Rep, Period>& d,
      |                 ^~~~~~~~
p1356.cpp:100:25: error: expected ',' or '...' before '<' token
  100 |                 duration<Rep, Period>& d,
      |                         ^
p1356.cpp:104:21: error: 'duration' does not name a type
  104 | using nanoseconds = duration<signed integer type of at least 64 bits, nano>;
      |                     ^~~~~~~~
p1356.cpp:105:22: error: 'duration' does not name a type
  105 | using microseconds = duration<signed integer type of at least 55 bits, micro>;
      |                      ^~~~~~~~
p1356.cpp:106:22: error: 'duration' does not name a type
  106 | using milliseconds = duration<signed integer type of at least 45 bits, milli>;
      |                      ^~~~~~~~
p1356.cpp:107:17: error: 'duration' does not name a type
  107 | using seconds = duration<signed integer type of at least 35 bits>;
      |                 ^~~~~~~~
p1356.cpp:108:17: error: 'duration' does not name a type
  108 | using minutes = duration<signed integer type of at least 29 bits, ratio< 60>>;
      |                 ^~~~~~~~
p1356.cpp:109:15: error: 'duration' does not name a type
  109 | using hours = duration<signed integer type of at least 23 bits, ratio<3600>>;
      |               ^~~~~~~~
p1356.cpp:110:14: error: 'duration' does not name a type
  110 | using days = duration<signed integer type of at least 25 bits,
      |              ^~~~~~~~
p1356.cpp:112:15: error: 'duration' does not name a type
  112 | using weeks = duration<signed integer type of at least 22 bits, ratio_multiply<ratio<7>, days::period>>;
      |               ^~~~~~~~
p1356.cpp:113:15: error: 'duration' does not name a type
  113 | using years = duration<signed integer type of at least 17 bits,
      |               ^~~~~~~~
p1356.cpp:115:16: error: 'duration' does not name a type
  115 | using months = duration<signed integer type of at least 20 bits, ratio_divide<years::period, ratio<12>>>;
      |                ^~~~~~~~
p1356.cpp:118:56: error: 'duration' was not declared in this scope; did you mean 'Duration1'?
  118 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                        ^~~~~~~~
      |                                                        Duration1
p1356.cpp:118:78: error: template argument 2 is invalid
  118 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                                              ^~
p1356.cpp:118:80: error: template argument 2 is invalid
  118 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                                                ^
p1356.cpp:119:62: error: 'duration' does not name a type; did you mean 'Duration1'?
  119 |     operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
      |                                                              ^~~~~~~~
      |                                                              Duration1
p1356.cpp:119:70: error: expected ',' or '...' before '<' token
  119 |     operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
      |                                                                      ^
p1356.cpp:121:45: error: 'duration' was not declared in this scope; did you mean 'Duration2'?
  121 |   constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
      |                                             ^~~~~~~~
      |                                             Duration2
p1356.cpp:121:67: error: template argument 1 is invalid
  121 |   constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
      |                                                                   ^
p1356.cpp:121:70: error: wrong number of template arguments (3, should be at least 1)
  121 |   constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
      |                                                                      ^~~~~~~~~
p1356.cpp:20:76: note: provided for 'template<class Clock, class Duration> class std::chrono::time_point'
   20 |     template<class Clock, class Duration = typename Clock::duration> class time_point;
      |                                                                            ^~~~~~~~~~
p1356.cpp:121:79: error: expected unqualified-id before '>' token
  121 |   constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>>
      |                                                                               ^~
p1356.cpp:124:56: error: 'duration' was not declared in this scope; did you mean 'Duration1'?
  124 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                        ^~~~~~~~
      |                                                        Duration1
p1356.cpp:124:78: error: template argument 2 is invalid
  124 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                                              ^~
p1356.cpp:124:80: error: template argument 2 is invalid
  124 |   constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>>
      |                                                                                ^
p1356.cpp:125:62: error: 'duration' does not name a type; did you mean 'Duration1'?
  125 |     operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
      |                                                              ^~~~~~~~
      |                                                              Duration1
p1356.cpp:125:70: error: expected ',' or '...' before '<' token
  125 |     operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
      |                                                                      ^
p1356.cpp:161:13: error: 'duration' does not name a type
  161 |   constexpr duration<Rep, Period> abs(duration<Rep, Period> d);
      |             ^~~~~~~~
p1356.cpp:166:30: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  166 | using sys_seconds = sys_time<seconds>;
      |                              ^~~~~~~
      |                              ends
p1356.cpp:166:37: error: template argument 1 is invalid
  166 | using sys_seconds = sys_time<seconds>;
      |                                     ^
p1356.cpp:167:30: error: 'days' was not declared in this scope
  167 | using sys_days    = sys_time<days>;
      |                              ^~~~
p1356.cpp:167:34: error: template argument 1 is invalid
  167 | using sys_days    = sys_time<days>;
      |                                  ^
p1356.cpp:173:56: error: 'sys_days' does not name a type
  173 |     operator<<(basic_ostream<charT, traits>& os, const sys_days& dp);
      |                                                        ^~~~~~~~
p1356.cpp:179:17: error: 'minutes' has not been declared
  179 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:184:30: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  184 | using utc_seconds = utc_time<seconds>;
      |                              ^~~~~~~
      |                              ends
p1356.cpp:184:37: error: template argument 1 is invalid
  184 | using utc_seconds = utc_time<seconds>;
      |                                     ^
p1356.cpp:193:17: error: 'minutes' has not been declared
  193 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:201:30: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  201 | using tai_seconds = tai_time<seconds>;
      |                              ^~~~~~~
      |                              ends
p1356.cpp:201:37: error: template argument 1 is invalid
  201 | using tai_seconds = tai_time<seconds>;
      |                                     ^
p1356.cpp:210:17: error: 'minutes' has not been declared
  210 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:215:30: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  215 | using gps_seconds = gps_time<seconds>;
      |                              ^~~~~~~
      |                              ends
p1356.cpp:215:37: error: template argument 1 is invalid
  215 | using gps_seconds = gps_time<seconds>;
      |                                     ^
p1356.cpp:224:17: error: 'minutes' has not been declared
  224 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:226:20: error: 'see' does not name a type
  226 | using file_clock = see below;
      |                    ^~~
p1356.cpp:228:32: error: 'file_clock' was not declared in this scope; did you mean 'is_clock'?
  228 |   using file_time = time_point<file_clock, Duration>;
      |                                ^~~~~~~~~~
      |                                is_clock
p1356.cpp:228:52: error: template argument 1 is invalid
  228 |   using file_time = time_point<file_clock, Duration>;
      |                                                    ^
p1356.cpp:231:56: error: 'file_time' does not name a type
  231 |     operator<<(basic_ostream<charT, traits>& os, const file_time<Duration>& tp);
      |                                                        ^~~~~~~~~
p1356.cpp:231:65: error: expected ',' or '...' before '<' token
  231 |     operator<<(basic_ostream<charT, traits>& os, const file_time<Duration>& tp);
      |                                                                 ^
p1356.cpp:235:17: error: 'file_time' has not been declared
  235 |                 file_time<Duration>& tp,
      |                 ^~~~~~~~~
p1356.cpp:235:26: error: expected ',' or '...' before '<' token
  235 |                 file_time<Duration>& tp,
      |                          ^
p1356.cpp:245:34: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  245 | using local_seconds = local_time<seconds>;
      |                                  ^~~~~~~
      |                                  ends
p1356.cpp:245:41: error: template argument 1 is invalid
  245 | using local_seconds = local_time<seconds>;
      |                                         ^
p1356.cpp:246:34: error: 'days' was not declared in this scope
  246 | using local_days    = local_time<days>;
      |                                  ^~~~
p1356.cpp:246:38: error: template argument 1 is invalid
  246 | using local_days    = local_time<days>;
      |                                      ^
p1356.cpp:255:17: error: 'minutes' has not been declared
  255 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:267:47: error: 'days' does not name a type; did you mean 'day'?
  267 | constexpr day  operator+(const day&  x, const days& y) noexcept;
      |                                               ^~~~
      |                                               day
p1356.cpp:268:32: error: 'days' does not name a type; did you mean 'day'?
  268 | constexpr day  operator+(const days& x, const day&  y) noexcept;
      |                                ^~~~
      |                                day
p1356.cpp:269:47: error: 'days' does not name a type; did you mean 'day'?
  269 | constexpr day  operator-(const day&  x, const days& y) noexcept;
      |                                               ^~~~
      |                                               day
p1356.cpp:270:11: error: 'days' does not name a type; did you mean 'day'?
  270 | constexpr days operator-(const day&  x, const day&  y) noexcept;
      |           ^~~~
      |           day
p1356.cpp:278:17: error: 'minutes' has not been declared
  278 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:283:51: error: 'months' does not name a type; did you mean 'month'?
  283 | constexpr month  operator+(const month&  x, const months& y) noexcept;
      |                                                   ^~~~~~
      |                                                   month
p1356.cpp:284:34: error: 'months' does not name a type; did you mean 'month'?
  284 | constexpr month  operator+(const months& x,  const month& y) noexcept;
      |                                  ^~~~~~
      |                                  month
p1356.cpp:285:51: error: 'months' does not name a type; did you mean 'month'?
  285 | constexpr month  operator-(const month&  x, const months& y) noexcept;
      |                                                   ^~~~~~
      |                                                   month
p1356.cpp:286:11: error: 'months' does not name a type; did you mean 'month'?
  286 | constexpr months operator-(const month&  x,  const month& y) noexcept;
      |           ^~~~~~
      |           month
p1356.cpp:294:17: error: 'minutes' has not been declared
  294 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:299:49: error: 'years' does not name a type; did you mean 'year'?
  299 | constexpr year  operator+(const year&  x, const years& y) noexcept;
      |                                                 ^~~~~
      |                                                 year
p1356.cpp:300:33: error: 'years' does not name a type; did you mean 'year'?
  300 | constexpr year  operator+(const years& x, const year&  y) noexcept;
      |                                 ^~~~~
      |                                 year
p1356.cpp:301:49: error: 'years' does not name a type; did you mean 'year'?
  301 | constexpr year  operator-(const year&  x, const years& y) noexcept;
      |                                                 ^~~~~
      |                                                 year
p1356.cpp:302:11: error: 'years' does not name a type; did you mean 'year'?
  302 | constexpr years operator-(const year&  x, const year&  y) noexcept;
      |           ^~~~~
      |           year
p1356.cpp:310:17: error: 'minutes' has not been declared
  310 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:314:53: error: 'days' does not name a type; did you mean 'day'?
  314 | constexpr weekday operator+(const weekday& x, const days&    y) noexcept;
      |                                                     ^~~~
      |                                                     day
p1356.cpp:315:35: error: 'days' does not name a type; did you mean 'day'?
  315 | constexpr weekday operator+(const days&    x, const weekday& y) noexcept;
      |                                   ^~~~
      |                                   day
p1356.cpp:316:53: error: 'days' does not name a type; did you mean 'day'?
  316 | constexpr weekday operator-(const weekday& x, const days&    y) noexcept;
      |                                                     ^~~~
      |                                                     day
p1356.cpp:317:11: error: 'days' does not name a type; did you mean 'day'?
  317 | constexpr days    operator-(const weekday& x, const weekday& y) noexcept;
      |           ^~~~
      |           day
p1356.cpp:325:17: error: 'minutes' has not been declared
  325 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:349:17: error: 'minutes' has not been declared
  349 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:374:60: error: 'months' does not name a type; did you mean 'month'?
  374 | constexpr year_month operator+(const year_month& ym, const months& dm) noexcept;
      |                                                            ^~~~~~
      |                                                            month
p1356.cpp:375:38: error: 'months' does not name a type; did you mean 'month'?
  375 | constexpr year_month operator+(const months& dm, const year_month& ym) noexcept;
      |                                      ^~~~~~
      |                                      month
p1356.cpp:376:60: error: 'months' does not name a type; did you mean 'month'?
  376 | constexpr year_month operator-(const year_month& ym, const months& dm) noexcept;
      |                                                            ^~~~~~
      |                                                            month
p1356.cpp:377:11: error: 'months' does not name a type; did you mean 'month'?
  377 | constexpr months operator-(const year_month& x, const year_month& y) noexcept;
      |           ^~~~~~
      |           month
p1356.cpp:378:60: error: 'years' does not name a type; did you mean 'year'?
  378 | constexpr year_month operator+(const year_month& ym, const years& dy) noexcept;
      |                                                            ^~~~~
      |                                                            year
p1356.cpp:379:38: error: 'years' does not name a type; did you mean 'year'?
  379 | constexpr year_month operator+(const years& dy, const year_month& ym) noexcept;
      |                                      ^~~~~
      |                                      year
p1356.cpp:380:60: error: 'years' does not name a type; did you mean 'year'?
  380 | constexpr year_month operator-(const year_month& ym, const years& dy) noexcept;
      |                                                            ^~~~~
      |                                                            year
p1356.cpp:388:17: error: 'minutes' has not been declared
  388 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:394:69: error: 'months' does not name a type; did you mean 'month'?
  394 | constexpr year_month_day operator+(const year_month_day& ymd, const months& dm) noexcept;
      |                                                                     ^~~~~~
      |                                                                     month
p1356.cpp:395:42: error: 'months' does not name a type; did you mean 'month'?
  395 | constexpr year_month_day operator+(const months& dm, const year_month_day& ymd) noexcept;
      |                                          ^~~~~~
      |                                          month
p1356.cpp:396:69: error: 'years' does not name a type; did you mean 'year'?
  396 | constexpr year_month_day operator+(const year_month_day& ymd, const years& dy) noexcept;
      |                                                                     ^~~~~
      |                                                                     year
p1356.cpp:397:42: error: 'years' does not name a type; did you mean 'year'?
  397 | constexpr year_month_day operator+(const years& dy, const year_month_day& ymd) noexcept;
      |                                          ^~~~~
      |                                          year
p1356.cpp:398:69: error: 'months' does not name a type; did you mean 'month'?
  398 | constexpr year_month_day operator-(const year_month_day& ymd, const months& dm) noexcept;
      |                                                                     ^~~~~~
      |                                                                     month
p1356.cpp:399:69: error: 'years' does not name a type; did you mean 'year'?
  399 | constexpr year_month_day operator-(const year_month_day& ymd, const years& dy) noexcept;
      |                                                                     ^~~~~
      |                                                                     year
p1356.cpp:408:17: error: 'minutes' has not been declared
  408 |                 minutes* offset = nullptr);
      |                 ^~~~~~~
p1356.cpp:416:52: error: 'months' does not name a type; did you mean 'month'?
  416 |   operator+(const year_month_day_last& ymdl, const months& dm) noexcept;
      |                                                    ^~~~~~
      |                                                    month
p1356.cpp:418:19: error: 'months' does not name a type; did you mean 'month'?
  418 |   operator+(const months& dm, const year_month_day_last& ymdl) noexcept;
      |                   ^~~~~~
      |                   month
p1356.cpp:420:52: error: 'years' does not name a type; did you mean 'year'?
  420 |   operator+(const year_month_day_last& ymdl, const years& dy) noexcept;
      |                                                    ^~~~~
      |                                                    year
p1356.cpp:422:19: error: 'years' does not name a type; did you mean 'year'?
  422 |   operator+(const years& dy, const year_month_day_last& ymdl) noexcept;
      |                   ^~~~~
      |                   year
p1356.cpp:424:52: error: 'months' does not name a type; did you mean 'month'?
  424 |   operator-(const year_month_day_last& ymdl, const months& dm) noexcept;
      |                                                    ^~~~~~
      |                                                    month
p1356.cpp:426:52: error: 'years' does not name a type; did you mean 'year'?
  426 |   operator-(const year_month_day_last& ymdl, const years& dy) noexcept;
      |                                                    ^~~~~
      |                                                    year
p1356.cpp:435:51: error: 'months' does not name a type; did you mean 'month'?
  435 |   operator+(const year_month_weekday& ymwd, const months& dm) noexcept;
      |                                                   ^~~~~~
      |                                                   month
p1356.cpp:437:19: error: 'months' does not name a type; did you mean 'month'?
  437 |   operator+(const months& dm, const year_month_weekday& ymwd) noexcept;
      |                   ^~~~~~
      |                   month
p1356.cpp:439:51: error: 'years' does not name a type; did you mean 'year'?
  439 |   operator+(const year_month_weekday& ymwd, const years& dy) noexcept;
      |                                                   ^~~~~
      |                                                   year
p1356.cpp:441:19: error: 'years' does not name a type; did you mean 'year'?
  441 |   operator+(const years& dy, const year_month_weekday& ymwd) noexcept;
      |                   ^~~~~
      |                   year
p1356.cpp:443:51: error: 'months' does not name a type; did you mean 'month'?
  443 |   operator-(const year_month_weekday& ymwd, const months& dm) noexcept;
      |                                                   ^~~~~~
      |                                                   month
p1356.cpp:445:51: error: 'years' does not name a type; did you mean 'year'?
  445 |   operator-(const year_month_weekday& ymwd, const years& dy) noexcept;
      |                                                   ^~~~~
      |                                                   year
p1356.cpp:454:57: error: 'months' does not name a type; did you mean 'month'?
  454 |   operator+(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
      |                                                         ^~~~~~
      |                                                         month
p1356.cpp:456:19: error: 'months' does not name a type; did you mean 'month'?
  456 |   operator+(const months& dm, const year_month_weekday_last& ymwdl) noexcept;
      |                   ^~~~~~
      |                   month
p1356.cpp:458:57: error: 'years' does not name a type; did you mean 'year'?
  458 |   operator+(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
      |                                                         ^~~~~
      |                                                         year
p1356.cpp:460:19: error: 'years' does not name a type; did you mean 'year'?
  460 |   operator+(const years& dy, const year_month_weekday_last& ymwdl) noexcept;
      |                   ^~~~~
      |                   year
p1356.cpp:462:57: error: 'months' does not name a type; did you mean 'month'?
  462 |   operator-(const year_month_weekday_last& ymwdl, const months& dm) noexcept;
      |                                                         ^~~~~~
      |                                                         month
p1356.cpp:464:57: error: 'years' does not name a type; did you mean 'year'?
  464 |   operator-(const year_month_weekday_last& ymwdl, const years& dy) noexcept;
      |                                                         ^~~~~
      |                                                         year
p1356.cpp:555:28: error: 'hours' does not name a type
  555 | constexpr bool is_am(const hours& h) noexcept;
      |                            ^~~~~
p1356.cpp:556:28: error: 'hours' does not name a type
  556 | constexpr bool is_pm(const hours& h) noexcept;
      |                            ^~~~~
p1356.cpp:557:11: error: 'hours' does not name a type
  557 | constexpr hours make12(const hours& h) noexcept;
      |           ^~~~~
p1356.cpp:558:11: error: 'hours' does not name a type
  558 | constexpr hours make24(const hours& h, bool is_pm) noexcept;
      |           ^~~~~
p1356.cpp:565:7: error: 'time_zone' does not name a type; did you mean 'time_point'?
  565 | const time_zone* locate_zone(string_view tz_name); const time_zone* current_zone();
      |       ^~~~~~~~~
      |       time_point
p1356.cpp:565:58: error: 'time_zone' does not name a type; did you mean 'time_point'?
  565 | const time_zone* locate_zone(string_view tz_name); const time_zone* current_zone();
      |                                                          ^~~~~~~~~
      |                                                          time_point
p1356.cpp:589:34: error: 'seconds' was not declared in this scope; did you mean 'ends'?
  589 | using zoned_seconds = zoned_time<seconds>;
      |                                  ^~~~~~~
      |                                  ends
p1356.cpp:589:41: error: template argument 1 is invalid
  589 | using zoned_seconds = zoned_time<seconds>;
      |                                         ^
p1356.cpp:620:38: error: 'sys_seconds' was not declared in this scope
  620 |   requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
      |                                      ^~~~~~~~~~~
p1356.cpp:620:12: error: template argument 1 is invalid
  620 |   requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
p1356.cpp:627:38: error: expected unqualified-id before '-' token
  627 | template<class Duration> struct local-time-format-t ; // exposition only
      |                                      ^
p1356.cpp:629:6: error: expected unqualified-id before '-' token
  629 | local-time-format-t <Duration>
      |      ^
p1356.cpp:635:12: error: 'formatter' is not a class template
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:635:30: error: 'duration' is not a member of 'std::chrono'; did you mean 'duration_cast'?
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |                              ^~~~~~~~
      |                              duration_cast
p1356.cpp:635:21: error: expected ';' before ',' token
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |                     ^                             ~
      |                     ;
p1356.cpp:637:12: error: 'formatter' is not a class template
  637 |     struct formatter<chrono::sys_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:637:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:639:12: error: 'formatter' is not a class template
  639 |     struct formatter<chrono::utc_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:639:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:641:12: error: 'formatter' is not a class template
  641 |     struct formatter<chrono::tai_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:641:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:643:12: error: 'formatter' is not a class template
  643 |     struct formatter<chrono::gps_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:643:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:645:12: error: 'formatter' is not a class template
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:645:30: error: 'file_time' is not a member of 'std::chrono'
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |                              ^~~~~~~~~
p1356.cpp:645:21: error: expected ';' before ',' token
  645 |     struct formatter<chrono::file_time<Duration>, charT>;
      |                     ^                           ~
      |                     ;
p1356.cpp:647:12: error: 'formatter' is not a class template
  647 |     struct formatter<chrono::local_time<Duration>, charT>;
      |            ^~~~~~~~~
p1356.cpp:647:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:649:8: error: 'formatter' is not a class template
  649 | struct formatter<chrono::local-time-format-t<Duration>, charT>; template<class charT> struct formatter<chrono::day, charT>;
      |        ^~~~~~~~~
p1356.cpp:649:8: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:649:94: error: 'formatter' is not a class template
  649 | t formatter<chrono::local-time-format-t<Duration>, charT>; template<class charT> struct formatter<chrono::day, charT>;
      |                                                                                         ^~~~~~~~~

p1356.cpp:649:94: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:650:30: error: 'formatter' is not a class template
  650 | template<class charT> struct formatter<chrono::month, charT>;
      |                              ^~~~~~~~~
p1356.cpp:650:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:651:30: error: 'formatter' is not a class template
  651 | template<class charT> struct formatter<chrono::year, charT>;
      |                              ^~~~~~~~~
p1356.cpp:651:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:652:30: error: 'formatter' is not a class template
  652 | template<class charT> struct formatter<chrono::weekday, charT>;
      |                              ^~~~~~~~~
p1356.cpp:652:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:30: error: 'formatter' is not a class template
  653 | template<class charT> struct formatter<chrono::weekday_indexed, charT>; template<class charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                              ^~~~~~~~~
p1356.cpp:653:30: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:102: error: 'formatter' is not a class template
  653 | s charT> struct formatter<chrono::weekday_indexed, charT>; template<class charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:102: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:171: error: 'formatter' is not a class template
  653 | lass charT> struct formatter<chrono::weekday_last, charT>; template<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:171: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:237: error: 'formatter' is not a class template
  653 | e<class charT> struct formatter<chrono::month_day, charT>; template<class charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:237: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:308: error: 'formatter' is not a class template
  653 | ss charT> struct formatter<chrono::month_day_last, charT>; template<class charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:308: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:378: error: 'formatter' is not a class template
  653 | ass charT> struct formatter<chrono::month_weekday, charT>; template<class charT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:378: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:453: error: 'formatter' is not a class template
  653 | harT> struct formatter<chrono::month_weekday_last, charT>; template<class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:453: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:520: error: 'formatter' is not a class template
  653 | <class charT> struct formatter<chrono::year_month, charT>; template<class charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:520: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:591: error: 'formatter' is not a class template
  653 | ss charT> struct formatter<chrono::year_month_day, charT>; template<class charT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:591: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:667: error: 'formatter' is not a class template
  653 | arT> struct formatter<chrono::year_month_day_last, charT>; template<class charT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:667: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:653:742: error: 'formatter' is not a class template
  653 | harT> struct formatter<chrono::year_month_weekday, charT>; template<class charT> struct formatter<chrono::year_month_weekday_last, charT>; template<class Rep, class Period, class charT>
      |                                                                                         ^~~~~~~~~

p1356.cpp:653:742: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:654:12: error: 'formatter' is not a class template
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |            ^~~~~~~~~
p1356.cpp:654:39: error: 'duration' was not declared in this scope
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                                       ^~~~~~~~
p1356.cpp:654:59: error: wrong number of template arguments (2, should be 1)
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |                                                           ^~
p1356.cpp:550:32: note: provided for 'template<class Duration> class std::chrono::hh_mm_ss'
  550 | template<class Duration> class hh_mm_ss;
      |                                ^~~~~~~~
p1356.cpp:654:12: error: 'std::formatter' is not a template
  654 |     struct formatter<chrono::hh_mm_ss<duration<Rep, Period>>, charT>;
      |            ^~~~~~~~~
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:655:32: error: 'formatter' is not a class template
  655 |   template<class charT> struct formatter<chrono::sys_info, charT>;
      |                                ^~~~~~~~~
p1356.cpp:655:32: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:656:32: error: 'formatter' is not a class template
  656 |   template<class charT> struct formatter<chrono::local_info, charT>;
      |                                ^~~~~~~~~
p1356.cpp:656:32: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:658:12: error: 'formatter' is not a class template
  658 |     struct formatter<chrono::zoned_time<Duration, TimeZonePtr>, charT>;
      |            ^~~~~~~~~
p1356.cpp:658:12: error: 'std::formatter' is not a template
p1356.cpp:635:12: note: previous declaration here
  635 |     struct formatter<chrono::duration<Rep, Period>, charT>;
      |            ^~~~~~~~~
p1356.cpp:663:1: error: 'unspecified' does not name a type
  663 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:666:1: error: 'unspecified' does not name a type
  666 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:669:1: error: 'unspecified' does not name a type
  669 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:673:1: error: 'unspecified' does not name a type
  673 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:677:1: error: 'unspecified' does not name a type
  677 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:680:1: error: 'unspecified' does not name a type
  680 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:684:1: error: 'unspecified' does not name a type
  684 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:688:1: error: 'unspecified' does not name a type
  688 | unspecified
      | ^~~~~~~~~~~
p1356.cpp:692:28: error: variable 'constexpr const std::chrono::last_spec std::chrono::last' has initializer but incomplete type
  692 | inline constexpr last_spec last{};
      |                            ^~~~
p1356.cpp:693:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Sunday' has initializer but incomplete type
  693 | inline constexpr weekday Sunday{0};
      |                          ^~~~~~
p1356.cpp:694:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Monday' has initializer but incomplete type
  694 | inline constexpr weekday Monday{1};
      |                          ^~~~~~
p1356.cpp:695:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Tuesday' has initializer but incomplete type
  695 | inline constexpr weekday Tuesday{2};
      |                          ^~~~~~~
p1356.cpp:696:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Wednesday' has initializer but incomplete type
  696 | inline constexpr weekday Wednesday{3};
      |                          ^~~~~~~~~
p1356.cpp:697:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Thursday' has initializer but incomplete type
  697 | inline constexpr weekday Thursday{4};
      |                          ^~~~~~~~
p1356.cpp:698:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Friday' has initializer but incomplete type
  698 | inline constexpr weekday Friday{5};
      |                          ^~~~~~
p1356.cpp:699:26: error: variable 'constexpr const std::chrono::weekday std::chrono::Saturday' has initializer but incomplete type
  699 | inline constexpr weekday Saturday{6};
      |                          ^~~~~~~~
p1356.cpp:700:24: error: variable 'constexpr const std::chrono::month std::chrono::January' has initializer but incomplete type
  700 | inline constexpr month January{1};
      |                        ^~~~~~~
p1356.cpp:701:24: error: variable 'constexpr const std::chrono::month std::chrono::February' has initializer but incomplete type
  701 | inline constexpr month February{2};
      |                        ^~~~~~~~
p1356.cpp:702:24: error: variable 'constexpr const std::chrono::month std::chrono::March' has initializer but incomplete type
  702 | inline constexpr month March{3};
      |                        ^~~~~
p1356.cpp:703:24: error: variable 'constexpr const std::chrono::month std::chrono::April' has initializer but incomplete type
  703 | inline constexpr month April{4};
      |                        ^~~~~
p1356.cpp:704:24: error: variable 'constexpr const std::chrono::month std::chrono::May' has initializer but incomplete type
  704 | inline constexpr month May{5};
      |                        ^~~
p1356.cpp:705:24: error: variable 'constexpr const std::chrono::month std::chrono::June' has initializer but incomplete type
  705 | inline constexpr month June{6};
      |                        ^~~~
p1356.cpp:706:24: error: variable 'constexpr const std::chrono::month std::chrono::July' has initializer but incomplete type
  706 | inline constexpr month July{7};
      |                        ^~~~
p1356.cpp:707:24: error: variable 'constexpr const std::chrono::month std::chrono::August' has initializer but incomplete type
  707 | inline constexpr month August{8};
      |                        ^~~~~~
p1356.cpp:708:24: error: variable 'constexpr const std::chrono::month std::chrono::September' has initializer but incomplete type
  708 | inline constexpr month September{9};
      |                        ^~~~~~~~~
p1356.cpp:709:24: error: variable 'constexpr const std::chrono::month std::chrono::October' has initializer but incomplete type
  709 | inline constexpr month October{10};
      |                        ^~~~~~~
p1356.cpp:710:24: error: variable 'constexpr const std::chrono::month std::chrono::November' has initializer but incomplete type
  710 | inline constexpr month November{11};
      |                        ^~~~~~~~
p1356.cpp:711:24: error: variable 'constexpr const std::chrono::month std::chrono::December' has initializer but incomplete type
  711 | inline constexpr month December{12};
      |                        ^~~~~~~~
p1356.cpp:715:19: error: 'hours' in namespace 'std::chrono' does not name a type
  715 | constexpr chrono::hours
      |                   ^~~~~
p1356.cpp:717:19: error: 'minutes' in namespace 'std::chrono' does not name a type
  717 | constexpr chrono::minutes operator""min(unsigned long long); constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double);
      |                   ^~~~~~~
p1356.cpp:717:80: error: 'duration' in namespace 'std::chrono' does not name a template type; did you mean duration_cast'?
  717 | constexpr chrono::minutes operator""min(unsigned long long); constexpr chrono::duration<unspecified, ratio<60, 1>> operator""min(long double);
      |                                                                                ^~~~~~~~
      |                                                                                duration_cast
p1356.cpp:718:19: error: 'seconds' in namespace 'std::chrono' does not name a type
  718 | constexpr chrono::seconds operator""s(unsigned long long); constexpr chrono::duration<unspecified > operator""s(long double);
      |                   ^~~~~~~
p1356.cpp:718:78: error: 'duration' in namespace 'std::chrono' does not name a template type; did you mean duration_cast'?
  718 | constexpr chrono::seconds operator""s(unsigned long long); constexpr chrono::duration<unspecified > operator""s(long double);
      |                                                                              ^~~~~~~~
      |                                                                              duration_cast
p1356.cpp:719:19: error: 'milliseconds' in namespace 'std::chrono' does not name a type
  719 | constexpr chrono::milliseconds operator""ms(unsigned long long); constexpr chrono::duration<unspecified, milli> operator""ms(long double);
      |                   ^~~~~~~~~~~~
p1356.cpp:719:84: error: 'duration' in namespace 'std::chrono' does not name a template type; did you mean duration_cast'?
  719 | constexpr chrono::milliseconds operator""ms(unsigned long long); constexpr chrono::duration<unspecified, milli> operator""ms(long double);
      |                                                                                    ^~~~~~~~
      |                                                                                    duration_cast
p1356.cpp:720:32: error: expected constructor, destructor, or type conversion before ';' token
  720 | operator""h(unsigned long long);
      |                                ^
p1356.cpp:721:19: error: 'microseconds' in namespace 'std::chrono' does not name a type
  721 | constexpr chrono::microseconds operator""us(unsigned long long); constexpr chrono::duration<unspecified, micro> operator""us(long double);
      |                   ^~~~~~~~~~~~
p1356.cpp:721:84: error: 'duration' in namespace 'std::chrono' does not name a template type; did you mean duration_cast'?
  721 | constexpr chrono::microseconds operator""us(unsigned long long); constexpr chrono::duration<unspecified, micro> operator""us(long double);
      |                                                                                    ^~~~~~~~
      |                                                                                    duration_cast
p1356.cpp:722:19: error: 'nanoseconds' in namespace 'std::chrono' does not name a type
  722 | constexpr chrono::nanoseconds operator""ns(unsigned long long); constexpr chrono::duration<unspecified, nano> operator""ns(long double);
      |                   ^~~~~~~~~~~
p1356.cpp:722:83: error: 'duration' in namespace 'std::chrono' does not name a template type; did you mean duration_cast'?
  722 | constexpr chrono::nanoseconds operator""ns(unsigned long long); constexpr chrono::duration<unspecified, nano> operator""ns(long double);
      |                                                                                   ^~~~~~~~
      |                                                                                   duration_cast
p1356.cpp:724:23: warning: literal operator suffixes not preceded by '_' are reserved for future standardization [-Wliteral-suffix]
  724 | constexpr chrono::day operator""d(unsigned long long d) noexcept;
      |                       ^~~~~~~~
p1356.cpp:726:28: warning: literal operator suffixes not preceded by '_' are reserved for future standardization [-Wliteral-suffix]
  726 |     constexpr chrono::year operator""y(unsigned long long y) noexcept;
      |                            ^~~~~~~~

```

## 検討事項(agenda)
コンパイルエラーを取るか、コンパイルエラーの理由を解説する。

<!-- リンクエラーの解説をする。clang++とg++の比較。意味のある出力。
コンパイルエラーを取るか、コンパイルエラーの理由を解説する。-->
## 応用例1　AUTOSAR C++

AUTOSARでC++のコーディング標準を作っている。　
MISRA-C++コーディング標準の改訂をまたずに、C++14に対応したかったためかもしれない。　


Autosar Guidelines C++14 example code compile list


https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

## 応用例2　MISRA C++

MISRA C++, AUTOSAR C++について

https://qiita.com/kaizen_nagoya/items/3436fbd49865e0da7d35

MISRA C++ 5-0-16

https://qiita.com/kaizen_nagoya/items/7df2d4e05db724752a74


## 応用例3 CERT C++

MISRA C/C++, AUTOSAR C++, CERT C/C++とC/C++工業標準をコンパイルする

https://qiita.com/kaizen_nagoya/items/8dff19511e42b2593db1

## 応用例4 箱庭　

箱庭もくもく会 #10 日時：2022/09/14(水) 17:30-19:30

https://hakoniwa.connpass.com/event/258129/

箱庭ではUnityをはじめC++を使っているらしい。　

ここでコンパイルしたコードと同じようなコードを使っているか、
ここで出たコンパイルエラーと同じようなエラーがでたかを
いろいろな版のコンパイラでコンパイルして確認していく。

仮想戦略会議「箱庭」

https://qiita.com/kaizen_nagoya/items/73cb132707653176a461

お盆には「箱庭」記事を書きましょう「もくもく会」の題材になる（１）

https://qiita.com/kaizen_nagoya/items/a22bf2b1dab0ad3258d4

お盆には「箱庭」記事を書きましょう「もくもく会」の題材になる（2）

https://qiita.com/kaizen_nagoya/items/e3c0ceb2dcc9cf3f3fac


# 参考資料(reference)

エンジニア夏休み企画 個人開発

https://qiita.com/official-events/6d31965c499a69377c0b


## 自己参考資料(self reference)

関連する自己参照以外は、こちらの先頭に移転。

C言語（C++)に対する誤解、曲解、無理解、爽快。

https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a

#include "N4910.h"

https://qiita.com/kaizen_nagoya/items/163a47cef7d6bb1c33a8

C++N4910資料の改善点

https://qiita.com/kaizen_nagoya/items/fb4ceb5d117a54641af3

dockerにclang

https://qiita.com/kaizen_nagoya/items/8829ffeee397eda50e80

docker gnu(gcc/g++) and llvm(clang/clang++)

https://qiita.com/kaizen_nagoya/items/059874ea39c4de64c0f7

コンパイル用shell script C版(clangとgcc)とC++版(clang++とg++)

https://qiita.com/kaizen_nagoya/items/74220c0577a512c2d7da


C++N4910:2022 tag follower 300人超えました。ありがとうございます。

https://qiita.com/kaizen_nagoya/items/a63fb96d351ac5c16ff7

astyle 使ってみた

https://qiita.com/kaizen_nagoya/items/3c9a87a781d53a1a23f3

【個人開発】　効率的な背景　＜エンジニア夏休み企画＞

https://qiita.com/kaizen_nagoya/items/3ebab436e63731e4b885
<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words and/or centences in order.
Este artículo no está completo. Agregaré algunas palabras en orden.

## 知人資料
' @kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

' @kazuo_reve 新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

' @kazuo_reve Vモデルについて勘違いしていたと思ったこと
https://qiita.com/kazuo_reve/items/46fddb094563bd9b2e1e

## 自己記事一覧
Qiitaで逆リンクを表示しなくなったような気がする。時々、スマフォで表示するとあらわっることがあり、完全に削除したのではなさそう。

４月以降、せっせとリンクリストを作り、統計を取って確率を説明しようとしている。
2025年２月末を目標にしている。

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

Python(0)記事をまとめたい。
https://qiita.com/kaizen_nagoya/items/088c57d70ab6904ebb53

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

技術士(0)一覧
https://qiita.com/kaizen_nagoya/items/ce4ccf4eb9c5600b89ea

Reserchmap(0) 一覧
https://qiita.com/kaizen_nagoya/items/506c79e562f406c4257e

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学 
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

coq(0) 一覧
https://qiita.com/kaizen_nagoya/items/d22f9995cf2173bc3b13

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

図(0) state, sequence and timing. UML and お絵描き 
https://qiita.com/kaizen_nagoya/items/60440a882146aeee9e8f

色(0) 記事100書く切り口 
https://qiita.com/kaizen_nagoya/items/22331c0335ed34326b9b

品質一覧 
https://qiita.com/kaizen_nagoya/items/2b99b8e9db6d94b2e971

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

水の資料集(0)　方針と成果
https://qiita.com/kaizen_nagoya/items/f5dbb30087ea732b52aa

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

音楽　一覧(0) 
https://qiita.com/kaizen_nagoya/items/b6e5f42bbfe3bbe40f5d

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧 
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/faa4ea03d91d901a618a

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ　 ベクタージャパン　
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧　
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

programの本質は計画だ。programは設計だ。
https://qiita.com/kaizen_nagoya/items/c8545a769c246a458c27

登壇直後版 色使い(JIS安全色) Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 スライド編 0.15
https://qiita.com/kaizen_nagoya/items/f0d3070d839f4f735b2b

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

逆も真：社会人が最初に確かめるとよいこと。OSEK(69)、Ethernet(59)
https://qiita.com/kaizen_nagoya/items/39afe4a728a31b903ddc

統計の嘘。仮説（127）
https://qiita.com/kaizen_nagoya/items/63b48ecf258a3471c51b

自分の言葉だけで論理展開できるのが天才なら、文章の引用だけで論理展開できるのが秀才だ。仮説（136）
https://qiita.com/kaizen_nagoya/items/97cf07b9e24f860624dd

参考文献駆動執筆(references driven writing)・デンソークリエイト編
https://qiita.com/kaizen_nagoya/items/b27b3f58b8bf265a5cd1

「何を」よりも「誰を」。１０年後のために今見習いたい人たち
https://qiita.com/kaizen_nagoya/items/8045978b16eb49d572b2

Qiitaの記事に３段階または５段階で到達するための方法
https://qiita.com/kaizen_nagoya/items/6e9298296852325adc5e

出力(output)と呼ばないで。これは状態(state)です。
https://qiita.com/kaizen_nagoya/items/80b8b5913b2748867840

祝休日・謹賀新年 2025年の目標
https://qiita.com/kaizen_nagoya/items/dfa34827932f99c59bbc

Qiita 1年間をまとめた「振り返りページ」＠2024
https://qiita.com/kaizen_nagoya/items/ed6be239119c99b15828

2024 参加・主催Calendarと投稿記事一覧 Qiita(248)
https://qiita.com/kaizen_nagoya/items/d80b8fbac2496df7827f

主催Calendar2024分析 Qiita(254)
https://qiita.com/kaizen_nagoya/items/15807336d583076f70bc

Calendar 統計
https://qiita.com/kaizen_nagoya/items/e315558dcea8ee3fe43e

LLM 関連 Calendar 2024 
https://qiita.com/kaizen_nagoya/items/c36033cf66862d5496fa

Large Language Model Related Calendar 
https://qiita.com/kaizen_nagoya/items/3beb0bc3fb71e3ae6d66

博士論文 Calendar 2024 を開催します。 
https://qiita.com/kaizen_nagoya/items/51601357efbcaf1057d0

博士論文(0)関連記事一覧
https://qiita.com/kaizen_nagoya/items/8f223a760e607b705e78

coding (101) 一覧を作成し始めた。omake:最近のQiitaで表示しない5つの事象
https://qiita.com/kaizen_nagoya/items/20667f09f19598aedb68

あなたは「勘違いまとめ」から、勘違いだと言っていることが勘違いだといくつ見つけられますか。人間の間違い(human error(125))の種類と対策
https://qiita.com/kaizen_nagoya/items/ae391b77fffb098b8fb4

プログラマの「プログラムが書ける」思い込みは強みだ。３つの理由。仮説（168）統計と確率(17) , OSEK(79)
https://qiita.com/kaizen_nagoya/items/bc5dd86e414de402ec29

出力(output)と呼ばないで。これは状態(state)です。
https://qiita.com/kaizen_nagoya/items/80b8b5913b2748867840

これからの情報伝達手段の在り方について考えてみよう。炎上と便乗。
https://qiita.com/kaizen_nagoya/items/71a09077ac195214f0db

ISO/IEC JTC1 SC7 Software and System Engineering
https://qiita.com/kaizen_nagoya/items/48b43f0f6976a078d907

アクセシビリティの知見を発信しよう！（再び）
https://qiita.com/kaizen_nagoya/items/03457eb9ee74105ee618

統計論及確率論輪講（再び）
https://qiita.com/kaizen_nagoya/items/590874ccfca988e85ea3

読者の心をグッと惹き寄せる7つの魔法
https://qiita.com/kaizen_nagoya/items/b1b5e89bd5c0a211d862

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧
https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b

ソースコードで議論しよう。日本語で議論するの止めましょう（あるプログラミング技術の議論報告）
https://qiita.com/kaizen_nagoya/items/8b9811c80f3338c6c0b0

脳内コンパイラの3つの危険
https://qiita.com/kaizen_nagoya/items/7025cf2d7bd9f276e382

心理学の本を読むよりはコンパイラ書いた方がよくね。仮説（34）
https://qiita.com/kaizen_nagoya/items/fa715732cc148e48880e

NASAを超えるつもりがあれば読んでください。
https://qiita.com/kaizen_nagoya/items/e81669f9cb53109157f6

データサイエンティストの気づき!「勉強して仕事に役立てない人。大嫌い!!」『それ自分かも?』ってなった!!! 
https://qiita.com/kaizen_nagoya/items/d85830d58d8dd7f71d07

「ぼくの好きな先生」「人がやらないことをやれ」プログラマになるまで。仮説（37）　
https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

なぜ経済学徒を辞め、計算機屋になったか（経済学部入学前・入学後・卒業後対応） 転職(1)  
https://qiita.com/kaizen_nagoya/items/06335a1d24c099733f64    

プログラミング言語教育のXYZ。 仮説（52） 
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

【24卒向け】9ヶ月後に年収１０００万円を目指す。二つの関門と三つの道。
https://qiita.com/kaizen_nagoya/items/fb5bff147193f726ad25

「【25卒向け】Qiita Career Meetup for STUDENT」予習の勧め
https://qiita.com/kaizen_nagoya/items/00eadb8a6e738cb6336f

大学入試不合格でも筆記試験のない大学に入って卒業できる。卒業しなくても博士になれる。
https://qiita.com/kaizen_nagoya/items/74adec99f396d64b5fd5

全世界の不登校の子供たち「博士論文」を書こう。世界子供博士論文遠隔実践中心 安全(99)
https://qiita.com/kaizen_nagoya/items/912d69032c012bcc84f2

日本のプログラマが世界で戦える16分野。仮説(53),統計と確率(25) 転職(32)、Ethernet(58)
https://qiita.com/kaizen_nagoya/items/a7e634a996cdd02bc53b

小川メソッド　覚え（書きかけ）
https://qiita.com/kaizen_nagoya/items/3593d72eca551742df68

DoCAP（ドゥーキャップ）って何ですか？
https://qiita.com/kaizen_nagoya/items/47e0e6509ab792c43327

views 20,000越え自己記事一覧
https://qiita.com/kaizen_nagoya/items/58e8bd6450957cdecd81

Views１万越え、もうすぐ１万記事一覧 最近いいねをいただいた213記事
https://qiita.com/kaizen_nagoya/items/d2b805717a92459ce853

amazon 殿堂入りNo1レビュアになるまで。仮説(102)
https://qiita.com/kaizen_nagoya/items/83259d18921ce75a91f4

100以上いいねをいただいた記事16選
https://qiita.com/kaizen_nagoya/items/f8d958d9084ffbd15d2a

水道局10年(1976,4-1986,3)を振り返る
https://qiita.com/kaizen_nagoya/items/707fcf6fae230dd349bf

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.
Este artículo es una impresión personal basada en mi experiencia personal. No tiene nada que ver con la organización o empresa a la que pertenezco actualmente.
### 文書履歴(document history)
ver. 0.01 初稿 　20220818
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.
#### Muchas gracias por leer hasta la última oración.
Por favor, haz clic en el ícono Me gusta 💚 y sígueme para tener una vida feliz.