Export of internal Abseil changes.
-- 5f1ab09522226336830d9ea6ef7276d37f536ac5 by Abseil Team <absl-team@google.com>: Clarify the documentation of ABSL_MUST_USE_RESULT. PiperOrigin-RevId: 221663609 -- af4c8359a20d56369fd1dce318220cf3be03ca66 by Greg Falcon <gfalcon@google.com>: Internal change PiperOrigin-RevId: 221538448 -- 487cd09bd1942bf607080deeae38fee6ce66f294 by Eric Fiselier <ericwf@google.com>: Work around emscripten bugs and missing features in absl/time:time_test. The emscripten toolchain has a couple of issues that cause time_test to fail. Specifically: 1) emscripten doesn't support signals. 2) The javascript implementation of strftime/strptime use different expansions of '%c' that mean it doesn't round-trip. PiperOrigin-RevId: 221523701 -- 5823652e6a200b97b07334bc47128dfac40e20fc by Xiaoyi Zhang <zhangxy@google.com>: Fix MSVC compiler warning by explicitly casting to char. Currently our MSVC build breaks with the following error: raw_hash_set.h(406): warning C4309: 'argument': truncation of constant value PiperOrigin-RevId: 221492585 -- c5806358320711a5efbe5c523df13e14ab53a17d by Greg Falcon <gfalcon@google.com>: Replace calls to getpagesize() with the more portable sysconf(_SC_PAGESIZE); the latter is in POSIX 1.0 and is called out in the Linux `getpagesize` man page as a more portable spelling. PiperOrigin-RevId: 221492471 -- 19ffe82851072229bb7ce73f754ffe4c18e8c575 by Abseil Team <absl-team@google.com>: Fix -Wundef error in absl/hash/internal/hash.h. PiperOrigin-RevId: 221444120 -- b30f3d0a848563b6e4ec33f3dc085831dfabb748 by Jon Cohen <cohenjon@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 221339736 GitOrigin-RevId: 5f1ab09522226336830d9ea6ef7276d37f536ac5 Change-Id: I96223d522d98bf6616dea88eb047c2d536eeddd0
This commit is contained in:
parent
7b46e1d31a
commit
a06c4a1d90
10 changed files with 47 additions and 24 deletions
|
@ -394,7 +394,12 @@ TEST(FormatParse, RoundTrip) {
|
|||
// work. On Windows, `absl::ParseTime()` falls back to std::get_time() which
|
||||
// appears to fail on "%c" (or at least on the "%c" text produced by
|
||||
// `strftime()`). This makes it fail the round-trip test.
|
||||
#ifndef _MSC_VER
|
||||
//
|
||||
// Under the emscripten compiler `absl::ParseTime() falls back to
|
||||
// `strptime()`, but that ends up using a different definition for "%c"
|
||||
// compared to `strftime()`, also causing the round-trip test to fail
|
||||
// (see https://github.com/kripken/emscripten/pull/7491).
|
||||
#if !defined(_MSC_VER) && !defined(__EMSCRIPTEN__)
|
||||
// Even though we don't know what %c will produce, it should roundtrip,
|
||||
// but only in the 0-offset timezone.
|
||||
{
|
||||
|
@ -403,7 +408,7 @@ TEST(FormatParse, RoundTrip) {
|
|||
EXPECT_TRUE(absl::ParseTime("%c", s, &out, &err)) << s << ": " << err;
|
||||
EXPECT_EQ(in, out);
|
||||
}
|
||||
#endif // _MSC_VER
|
||||
#endif // !_MSC_VER && !__EMSCRIPTEN__
|
||||
}
|
||||
|
||||
TEST(FormatParse, RoundTripDistantFuture) {
|
||||
|
|
|
@ -506,9 +506,11 @@ enum class weekday {
|
|||
};
|
||||
|
||||
CONSTEXPR_F weekday get_weekday(const civil_day& cd) noexcept {
|
||||
CONSTEXPR_D weekday k_weekday_by_sun_off[7] = {
|
||||
weekday::sunday, weekday::monday, weekday::tuesday,
|
||||
weekday::wednesday, weekday::thursday, weekday::friday,
|
||||
CONSTEXPR_D weekday k_weekday_by_mon_off[13] = {
|
||||
weekday::monday, weekday::tuesday, weekday::wednesday,
|
||||
weekday::thursday, weekday::friday, weekday::saturday,
|
||||
weekday::sunday, weekday::monday, weekday::tuesday,
|
||||
weekday::wednesday, weekday::thursday, weekday::friday,
|
||||
weekday::saturday,
|
||||
};
|
||||
CONSTEXPR_D int k_weekday_offsets[1 + 12] = {
|
||||
|
@ -517,7 +519,7 @@ CONSTEXPR_F weekday get_weekday(const civil_day& cd) noexcept {
|
|||
year_t wd = 2400 + (cd.year() % 400) - (cd.month() < 3);
|
||||
wd += wd / 4 - wd / 100 + wd / 400;
|
||||
wd += k_weekday_offsets[cd.month()] + cd.day();
|
||||
return k_weekday_by_sun_off[(wd % 7 + 7) % 7];
|
||||
return k_weekday_by_mon_off[wd % 7 + 6];
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue