The test is currently marked XFAIL for mingw environments, but latest
mingw-w64 got support for timespec_get:
e62a0a987c
The CI environment will probably be upgraded to a state where this
test is passing only after 14.x is branched in the llvm-project monorepo.
If we'd just go from having an XFAIL to no marking at all (when CI is
passing), we'd have to update both main and 14.x branches in sync
exactly when the CI runners are updated to a newer version.
Instead, mark the test as temporarily unsupported (so it doesn't
cause failed builds when the CI environment is updated); after the
CI environments are upgraded to such a state, we can remove the
UNSUPPORTED marking to start requiring it to pass on the main branch,
without needing to synchronize that change to anything else.
Differential Revision: https://reviews.llvm.org/D116132
33 lines
1.2 KiB
C++
33 lines
1.2 KiB
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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// test <ctime>
|
|
// std::timespec and std::timespec_get
|
|
|
|
// UNSUPPORTED: c++03, c++11, c++14
|
|
// XFAIL: LIBCXX-AIX-FIXME
|
|
// ::timespec_get is provided by the C library, but it's marked as
|
|
// unavailable until macOS 10.15
|
|
// XFAIL: use_system_cxx_lib && target={{.+}}-apple-macosx10.{{9|10|11|12|13|14}}
|
|
|
|
// MinGW used to lack timespec_get, but has got it in newer versions.
|
|
// Mark the test as unsupported for a transition period, to avoid spurious
|
|
// failures when upgrading the precommit testing environment. After
|
|
// the testing environment is upgraded, we could remove the marking altogether.
|
|
// UNSUPPORTED: target={{.+}}-windows-gnu
|
|
|
|
#include <ctime>
|
|
#include <type_traits>
|
|
|
|
#ifndef TIME_UTC
|
|
#error TIME_UTC not defined
|
|
#endif
|
|
|
|
std::timespec tmspec = {};
|
|
static_assert(std::is_same<decltype(std::timespec_get(&tmspec, 0)), int>::value, "");
|