17738db2cSMark de Wever //===----------------------------------------------------------------------===// 27738db2cSMark de Wever // 37738db2cSMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 47738db2cSMark de Wever // See https://llvm.org/LICENSE.txt for license information. 57738db2cSMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 67738db2cSMark de Wever // 77738db2cSMark de Wever //===----------------------------------------------------------------------===// 87738db2cSMark de Wever // 9*a7f9895cSLouis Dionne // UNSUPPORTED: no-monotonic-clock 107738db2cSMark de Wever 117738db2cSMark de Wever // <chrono> 127738db2cSMark de Wever 137738db2cSMark de Wever // steady_clock 147738db2cSMark de Wever 157738db2cSMark de Wever // static time_point now(); 167738db2cSMark de Wever 177738db2cSMark de Wever #include <chrono> 187738db2cSMark de Wever #include <cassert> 197738db2cSMark de Wever 207738db2cSMark de Wever #include "test_macros.h" 217738db2cSMark de Wever main(int,char **)227738db2cSMark de Weverint main(int, char**) 237738db2cSMark de Wever { 247738db2cSMark de Wever typedef std::chrono::steady_clock C; 257738db2cSMark de Wever C::time_point t1 = C::now(); 267738db2cSMark de Wever C::time_point t2 = C::now(); 277738db2cSMark de Wever assert(t2 >= t1); 287738db2cSMark de Wever // make sure t2 didn't wrap around 297738db2cSMark de Wever assert(t2 > std::chrono::time_point<C>()); 307738db2cSMark de Wever 317738db2cSMark de Wever return 0; 327738db2cSMark de Wever } 33