summaryrefslogtreecommitdiffstats
path: root/libcxx/include/chrono
Commit message (Collapse)AuthorAgeFilesLines
* [libc++] [chrono] Fix year_month_weekday::ok() implementation.Marek Kurdej2019-11-151-2/+8
| | | | | | | | | | | | Reviewers: ldionne, EricWF, mclow.lists Reviewed By: mclow.lists Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70282
* Revert "Extension: Mark the default constructor of chrono::duration as ↵Marshall Clow2019-09-231-1/+1
| | | | | | | | conditionally noexcept"; this breaks the gcc5 bot for C++11 This reverts commit c8ca15c95c4c0d6d1356500d5fe49a319ea4ca01. llvm-svn: 372546
* Extension: Mark the default constructor of chrono::duration as conditionally ↵Marshall Clow2019-09-231-1/+1
| | | | | | noexcept llvm-svn: 372539
* [libc++] Always build with -fvisibility=hiddenLouis Dionne2019-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This avoids symbols being accidentally exported from the dylib when they shouldn't. The next step is to use a pragma to apply hidden visibility to all declarations (unless otherwise specified), which will allow us to drop the per-declaration hidden visibility attributes we currently have. This also has the nice side effect of making sure the dylib exports the same symbols regardless of the optimization level. PR38138 Reviewers: EricWF, mclow.lists Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D62868 llvm-svn: 368703
* Implement hh_mm_ss from P1466R3. Reviewed as https://reviews.llvm.org/D65365.Marshall Clow2019-08-081-6/+114
| | | | llvm-svn: 368299
* Fix a bug in std::chrono::abs where it would fail when the duration's period ↵Marshall Clow2019-07-261-1/+1
| | | | | | had not been reduced.s llvm-svn: 367120
* Implement change #4 of P1466: Change weekday to accept both 0 and 7 as ↵Marshall Clow2019-07-251-6/+7
| | | | | | Sunday. Add accessors 'c_encoding' and 'iso_encoding' to provide different interpretations of the weekday. Remove 'operator unsigned' llvm-svn: 366981
* [NFC][libcxx] Remove trailing whitespaceLouis Dionne2019-05-291-8/+8
| | | | | | It's incredibly annoying when trying to create diffs llvm-svn: 361981
* Fix PR41130 - 'operator/ of std::chrono::duration and custom type'. Thanks ↵Marshall Clow2019-04-011-26/+12
| | | | | | to Zulan for the report, and Howard for the direction of the fix. llvm-svn: 357410
* Remove type visibility specifiers from new chrono types.Eric Fiselier2019-03-211-18/+18
| | | | | | | | | _LIBCPP_TYPE_VIS is only really needed on types with a vtable. And on Windows it doesn't work with types that have only inline methods. This patch removes the unneeded attributes. llvm-svn: 356637
* [libc++] Mark <filesystem> as unavailable on Apple platforms using pragmasLouis Dionne2019-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Summary: Also add the corresponding XFAILs to tests that require filesystem. The approach taken to mark <filesystem> as unavailable in this patch is to mark all the header as unavailable using #pragma clang attribute. Marking each declaration using the attribute is more intrusive and does not provide a lot of value right now because pretty much everything in <filesystem> requires dylib support, often transitively. This is an alternative to https://reviews.llvm.org/D59093. A similar (but partial) patch was already applied in r356558. Reviewers: mclow.lists, EricWF, serge-sans-paille Subscribers: christof, jkorous, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D59224 llvm-svn: 356616
* fix -Wextra-semi warningsEric Fiselier2019-02-101-5/+5
| | | | llvm-svn: 353650
* Update more file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | | to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351648
* Implement the 'sys_time' portions of the C++20 calendaring stuff. Reviewed ↵Marshall Clow2019-01-111-29/+157
| | | | | | as D56494 llvm-svn: 350929
* Don't forward declare _FilesystemClock in C++03Eric Fiselier2018-12-211-0/+2
| | | | llvm-svn: 349887
* Implement LWG 3145: file_clock breaks ABI for C++17 implementations.Eric Fiselier2018-12-211-1/+42
| | | | | | | This patch adds std::chrono::file_clock, but without breaking the existing ABI for std::filesystem. llvm-svn: 349883
* Implement P0972R0: <chrono> zero(), min(), and max() should be noexcept. ↵Marshall Clow2018-11-131-16/+16
| | | | | | Reviewed as https://reviews.llvm.org/D53828 llvm-svn: 346766
* Recommit <chrono> changes with a couple xtra tests marked to fail on apple's ↵Marshall Clow2018-10-161-1/+1032
| | | | | | clang. Reviewed as D51762 llvm-svn: 344627
* Revert r344529 "Implement the first part of the calendar support for C++20"Artem Dergachev2018-10-161-1032/+1
| | | | | | | | | | Revert r344535 "Wrap up the new chrono literals in an #ifdef..." Revert r344546 "Mark a couple of test cases as 'C++17-only'..." Some of the buildbot failures were masked by another error, and this one was probably missed. llvm-svn: 344580
* Wrap up the new chrono literals in an #ifdef so that old versions of clang ↵Marshall Clow2018-10-151-1/+1
| | | | | | don't complain. I'm looking at you, clang 5.0.1 llvm-svn: 344535
* Implement the first part of the calendar support for C++20. This is still ↵Marshall Clow2018-10-151-1/+1032
| | | | | | incomplete; there will be more patches coming. Reviewed as D51762 llvm-svn: 344529
* Implement the infrastructure for feature-test macros. Very few actual ↵Marshall Clow2018-09-121-0/+1
| | | | | | feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 llvm-svn: 342073
* Last week, someone noted that a couple of the time_point member functions ↵Marshall Clow2018-08-291-12/+14
| | | | | | were not constexpr. I looked, and they were right. They were made constexpr in p0505, so I looked at all the other bits in that paper to make sure that I didn't miss anything else. There were a couple methods in the synopsis that should have been marked constexpr, but the code was correct. llvm-svn: 340992
* [NFC][libc++] Consistently use spaces to indentLouis Dionne2018-08-031-10/+10
| | | | | | rdar://problem/19988944 llvm-svn: 338933
* Update the synopsis for <chrono> for C++20. No functional change.Marshall Clow2018-07-181-0/+492
| | | | llvm-svn: 337406
* Implement most of P0607: Inline Variables for the Standard Library. This ↵Marshall Clow2018-01-021-2/+3
| | | | | | involved marking a lot of variables as inline (but only for C++17 and later). llvm-svn: 321658
* Change the way the literal operators are defined - now w/o a seperating ↵Marshall Clow2017-08-091-24/+24
| | | | | | space. This should be a NFC, but it will change how the compiler parses it. llvm-svn: 310487
* [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on WindowsEric Fiselier2017-05-311-2/+6
| | | | | | | | | | | | | | | | Summary: This patch improves how libc++ handles min/max macros within the headers. Previously libc++ would undef them and emit a warning. This patch changes libc++ to use `#pragma push_macro` to save the macro before undefining it, and `#pragma pop_macro` to restore the macros and the end of the header. Reviewers: mclow.lists, bcraig, compnerd, EricWF Reviewed By: EricWF Subscribers: cfe-commits, krytarowski Differential Revision: https://reviews.llvm.org/D33080 llvm-svn: 304357
* Implement P0548: 'common_type and duration' This involves a subtle change in ↵Marshall Clow2017-03-211-6/+6
| | | | | | the return type of the unary +/- operators for std::chrono::duration, though I expect that no one will notice. llvm-svn: 298416
* [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VISEric Fiselier2017-01-041-7/+7
| | | | | | | | | | | | | The name _LIBCPP_TYPE_VIS_ONLY is no longer accurate because both _LIBCPP_TYPE_VIS and _LIBCPP_TYPE_VIS_ONLY expand to __attribute__((__type_visibility__)) with Clang. The only remaining difference is that _LIBCPP_TYPE_VIS_ONLY can be applied to templates whereas _LIBCPP_TYPE_VIS cannot (due to dllimport/dllexport not being allowed on templates). This patch renames _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS. llvm-svn: 291035
* Implement P0505: 'Wording for GB 50'Marshall Clow2017-01-041-18/+18
| | | | llvm-svn: 291028
* Remove _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONSEric Fiselier2016-11-181-1/+1
| | | | | | | | libc++ no longer supports C++11 compilers that don't implement `= default`. This patch removes all instances of the feature test macro _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS as well as the potentially dead code it hides. llvm-svn: 287321
* Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted ↵Marshall Clow2016-11-141-1/+2
| | | | | | last week in Issaquah llvm-svn: 286858
* Last bit of P0006; mark it as completeMarshall Clow2015-11-301-0/+8
| | | | llvm-svn: 254290
* Implement P0092R1 for C++1zMarshall Clow2015-11-051-0/+123
| | | | llvm-svn: 252195
* Partially address a FIXME in steady_clock::now()Jonathan Roelofs2014-09-021-0/+4
| | | | | | http://reviews.llvm.org/D4045 llvm-svn: 216949
* Mark namespaces for user defined literals as 'inline'Marshall Clow2013-10-051-6/+8
| | | | llvm-svn: 192047
* SFINAE out duration converting constructor if the constructor would ↵Howard Hinnant2013-08-311-2/+34
| | | | | | otherwise cause a ratio compile-time overflow. This fixes LWG 2094. llvm-svn: 189722
* Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant2013-08-121-9/+9
| | | | | | explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
* War on tabsHoward Hinnant2013-08-071-64/+64
| | | | llvm-svn: 187906
* Backwards!Marshall Clow2013-07-311-2/+2
| | | | llvm-svn: 187518
* Implement n3469 - constexpr for chronoMarshall Clow2013-07-311-30/+34
| | | | llvm-svn: 187517
* literal suffixes for std::chronoMarshall Clow2013-07-241-0/+91
| | | | llvm-svn: 187078
* War on tabs.Howard Hinnant2013-07-081-2/+2
| | | | llvm-svn: 185865
* Dimitry Andric: Add const to constexpr member functions in order to cope ↵Howard Hinnant2013-06-281-4/+4
| | | | | | with new C++1y language rules. This silences -Wconstexpr-not-const warnings. llvm-svn: 185181
* No functionality change at this time. I've split _LIBCPP_VISIBLE up into ↵Howard Hinnant2013-03-061-9/+9
| | | | | | two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. llvm-svn: 176593
* Don't neglect to "return *this".Argyrios Kyrtzidis2012-10-131-2/+2
| | | | llvm-svn: 165860
* Applied constexpr to <chrono>.Howard Hinnant2012-07-131-52/+75
| | | | llvm-svn: 160184
* Add protection from min/max macrosHoward Hinnant2011-11-291-0/+2
| | | | llvm-svn: 145407
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
OpenPOWER on IntegriCloud