Files
RedBear-OS/local/recipes/dev/libclc/source/libcxx/modules/std/chrono.inc
T
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00

303 lines
8.7 KiB
C++

// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
export namespace std {
namespace chrono {
using std::chrono::duration;
using std::chrono::time_point;
} // namespace chrono
using std::common_type;
namespace chrono {
// [time.traits], customization traits
using std::chrono::treat_as_floating_point;
using std::chrono::treat_as_floating_point_v;
using std::chrono::duration_values;
// using std::chrono::is_clock;
// using std::chrono::is_clock_v;
// [time.duration.nonmember], duration arithmetic
using std::chrono::operator+;
using std::chrono::operator-;
using std::chrono::operator*;
using std::chrono::operator/;
using std::chrono::operator%;
// [time.duration.comparisons], duration comparisons
using std::chrono::operator==;
using std::chrono::operator<;
using std::chrono::operator>;
using std::chrono::operator<=;
using std::chrono::operator>=;
using std::chrono::operator<=>;
// [time.duration.cast], conversions
using std::chrono::ceil;
using std::chrono::duration_cast;
using std::chrono::floor;
using std::chrono::round;
// [time.duration.io], duration I/O
#if _LIBCPP_HAS_LOCALIZATION
using std::chrono::operator<<;
#endif
// using std::chrono::from_stream;
// convenience typedefs
using std::chrono::days;
using std::chrono::hours;
using std::chrono::microseconds;
using std::chrono::milliseconds;
using std::chrono::minutes;
using std::chrono::months;
using std::chrono::nanoseconds;
using std::chrono::seconds;
using std::chrono::weeks;
using std::chrono::years;
// [time.point.nonmember], time_point arithmetic
// [time.point.comparisons], time_point comparisons
// [time.point.cast], conversions
using std::chrono::time_point_cast;
// [time.duration.alg], specialized algorithms
using std::chrono::abs;
// [time.clock.system], class system_clock
using std::chrono::system_clock;
using std::chrono::sys_days;
using std::chrono::sys_seconds;
using std::chrono::sys_time;
#if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
# ifdef _LIBCPP_ENABLE_EXPERIMENTAL
// [time.clock.utc], class utc_clock
using std::chrono::utc_clock;
using std::chrono::utc_seconds;
using std::chrono::utc_time;
using std::chrono::leap_second_info;
using std::chrono::get_leap_second_info;
// [time.clock.tai], class tai_clock
using std::chrono::tai_clock;
using std::chrono::tai_seconds;
using std::chrono::tai_time;
// [time.clock.gps], class gps_clock
using std::chrono::gps_clock;
using std::chrono::gps_seconds;
using std::chrono::gps_time;
# endif // _LIBCPP_ENABLE_EXPERIMENTAL
#endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
// [time.clock.file], type file_clock
using std::chrono::file_clock;
using std::chrono::file_time;
#if _LIBCPP_HAS_MONOTONIC_CLOCK
// [time.clock.steady], class steady_clock
using std::chrono::steady_clock;
#endif
// [time.clock.hires], class high_resolution_clock
using std::chrono::high_resolution_clock;
// [time.clock.local], local time
using std::chrono::local_days;
using std::chrono::local_seconds;
using std::chrono::local_t;
using std::chrono::local_time;
// [time.clock.cast], time_point conversions
// using std::chrono::clock_time_conversion;
// using std::chrono::clock_cast;
// [time.cal.last], class last_spec
using std::chrono::last_spec;
// [time.cal.day], class day
using std::chrono::day;
// [time.cal.month], class month
using std::chrono::month;
// [time.cal.year], class year
using std::chrono::year;
// [time.cal.wd], class weekday
using std::chrono::weekday;
// [time.cal.wdidx], class weekday_indexed
using std::chrono::weekday_indexed;
// [time.cal.wdlast], class weekday_last
using std::chrono::weekday_last;
// [time.cal.md], class month_day
using std::chrono::month_day;
// [time.cal.mdlast], class month_day_last
using std::chrono::month_day_last;
// [time.cal.mwd], class month_weekday
using std::chrono::month_weekday;
// [time.cal.mwdlast], class month_weekday_last
using std::chrono::month_weekday_last;
// [time.cal.ym], class year_month
using std::chrono::year_month;
// [time.cal.ymd], class year_month_day
using std::chrono::year_month_day;
// [time.cal.ymdlast], class year_month_day_last
using std::chrono::year_month_day_last;
// [time.cal.ymwd], class year_month_weekday
using std::chrono::year_month_weekday;
// [time.cal.ymwdlast], class year_month_weekday_last
using std::chrono::year_month_weekday_last;
// [time.cal.operators], civil calendar conventional syntax operators
// [time.hms], class template hh_mm_ss
using std::chrono::hh_mm_ss;
// [time.12], 12/24 hour functions
using std::chrono::is_am;
using std::chrono::is_pm;
using std::chrono::make12;
using std::chrono::make24;
#ifdef _LIBCPP_ENABLE_EXPERIMENTAL
# if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
// [time.zone.db], time zone database
using std::chrono::tzdb;
using std::chrono::tzdb_list;
// [time.zone.db.access], time zone database access
using std::chrono::current_zone;
using std::chrono::get_tzdb;
using std::chrono::get_tzdb_list;
using std::chrono::locate_zone;
// [time.zone.db.remote], remote time zone database support
using std::chrono::reload_tzdb;
using std::chrono::remote_version;
# endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
// [time.zone.exception], exception classes
using std::chrono::ambiguous_local_time;
using std::chrono::nonexistent_local_time;
// [time.zone.info], information classes
using std::chrono::local_info;
using std::chrono::sys_info;
# if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
// [time.zone.timezone], class time_zone
using std::chrono::choose;
using std::chrono::time_zone;
// [time.zone.zonedtraits], class template zoned_traits
using std::chrono::zoned_traits;
// [time.zone.zonedtime], class template zoned_time
using std::chrono::zoned_time;
using std::chrono::zoned_seconds;
// [time.zone.leap], leap second support
using std::chrono::leap_second;
// [time.zone.link], class time_zone_link
using std::chrono::time_zone_link;
# if 0
// [time.format], formatting
using std::chrono::local_time_format;
# endif
# endif // _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
#endif // _LIBCPP_ENABLE_EXPERIMENTAL
} // namespace chrono
#if _LIBCPP_HAS_LOCALIZATION
using std::formatter;
#endif
namespace chrono {
// using std::chrono::parse;
// calendrical constants
using std::chrono::last;
using std::chrono::Friday;
using std::chrono::Monday;
using std::chrono::Saturday;
using std::chrono::Sunday;
using std::chrono::Thursday;
using std::chrono::Tuesday;
using std::chrono::Wednesday;
using std::chrono::April;
using std::chrono::August;
using std::chrono::December;
using std::chrono::February;
using std::chrono::January;
using std::chrono::July;
using std::chrono::June;
using std::chrono::March;
using std::chrono::May;
using std::chrono::November;
using std::chrono::October;
using std::chrono::September;
} // namespace chrono
} // namespace std
export namespace std::inline literals::inline chrono_literals {
// [time.duration.literals], suffixes for duration literals
using std::literals::chrono_literals::operator""h;
using std::literals::chrono_literals::operator""min;
using std::literals::chrono_literals::operator""s;
using std::literals::chrono_literals::operator""ms;
using std::literals::chrono_literals::operator""us;
using std::literals::chrono_literals::operator""ns;
// [using std::literals::chrono_literals::.cal.day.nonmembers], non-member functions
using std::literals::chrono_literals::operator""d;
// [using std::literals::chrono_literals::.cal.year.nonmembers], non-member functions
using std::literals::chrono_literals::operator""y;
} // namespace std::inline literals::inline chrono_literals