Граф коммитов

87 Коммитов

Автор SHA1 Сообщение Дата
Stephan T. Lavavej c02643f576
Delete `<cvt/meow>` (#4458) 2024-03-15 22:28:31 -07:00
Stephan T. Lavavej 6f8f8e3bf1
Enable more test coverage for warning C4668 ('MEOW' is not defined as a preprocessor macro) (#4441) 2024-03-07 21:17:09 -08:00
A. Jiang c5e9583748
`<xiosbase>`: Remove non-conforming extension `ios_base::hexfloat` (#4345) 2024-01-30 12:30:32 -08:00
A. Jiang c1e42b9bb8
`<random>`: Deprecate TR1 components in the `std` namespace (#4284)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2024-01-24 16:24:06 -08:00
Stephan T. Lavavej e077eb6687
llvm-project Mega-Update (#4263)
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
2023-12-15 14:07:37 -08:00
Stephan T. Lavavej 245e703942
Toolset update: VS 2022 17.9 Preview 2, Clang 17 (#4259) 2023-12-14 13:56:17 -08:00
Casey Carter c594563774
Don't `*` every test matrix line (#4240) 2023-12-07 08:56:48 -08:00
Stephan T. Lavavej fb8fc4175a
`<random>`: Fix minor conformance issues (#4120) 2023-10-25 16:48:31 -07:00
Stephan T. Lavavej 05b31520ea
Toolset update: VS 2022 17.8 Preview 3 (#4083) 2023-10-14 11:43:51 -07:00
Casey Carter 283cf32878
Add '*' tags to all non-tagged configs (#4068) 2023-10-04 15:43:40 -07:00
A. Jiang 9e2039992f
Implement LWG-3561 Issue with internal counter in `discard_block_engine` (#4066)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-10-04 15:40:39 -07:00
Casey Carter 4751057c3c
Add ASAN coverage for all STL tests (#4052)
* Teach the test runner to parse runpl tags. Also teach our compiler option parser about `-fsanitize=address,undefined`.
* Add ASAN configs to test matrices, tell the validator that `.lst` files may be tabby now.
* Update libc++ expected results. The clang config is now `:2`, `:1` is cl with ASAN enabled.
* Skip libc++ `operator new` tests that ASan doesn't like, and `basic_string::max_size` test that ASan doesn't like.
* Avoid VSO-1875597 in `std/strings/string.conversions/stol.pass.cpp`
* Tell `P0881R7_stacktrace` that we `HAS_DEBUG_INFO`  when building with ASan enabled.
* Create `fast_no_asan_matrix` to avoid VSO-1886547
* In `Dev11_1158803_regex_thread_safety` and `Dev10_814245_regex_character_class_crash`, `regex_match` seems to leak memory with ASAN enabled; OOMs on x86 only.
* Add new `asan-pipeline.yml` entry point for Azure pipelines and properly plumb `benchmarkBuildOutputLocationVar` through `native-build-test.yml`
2023-09-29 09:45:22 -07:00
Casey Carter 6c69a73911
Don't violate preconditions in tr1/regex3 (#3990)
This test constructs a `regex_iterator` and a `regex_token_iterator` with invalid character ranges. The first occurrence is benign - the test never directs the library to examine the bogus part of the range - but the second case ventures into the land of pure undefined behavior. Caught by ASan.

Fixes VSO-1854241
2023-08-31 09:49:43 -07:00
A. Jiang 40e1eac0e1
Deprecate the contents in `<cvt/meow>` headers (#3924)
* Deprecate the contents in `<cvt/meow>` headers

Also make the deprecation of Microsoft extensions controlled by
`_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS`.

* Centralize suppression in `tests/tr1/tests/cvt/env.lst`.

* Improve message grammar.

---------

Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-08-31 09:06:44 -07:00
Casey Carter c7a90d744b
Fix bad tr1/algorithm test cases (#3967) 2023-08-17 18:45:24 -07:00
Stephan T. Lavavej 8674b3d732
Consistently use `override` in tests (#3934) 2023-08-10 19:42:36 -07:00
Stephan T. Lavavej 92d050e02b
Drop `#pragma once` in STL headers (#3895) 2023-07-26 11:54:17 -07:00
Stephan T. Lavavej 23a5a53143
Toolset update: VS 2022 17.7 Preview 3, Clang 16.0.5 (#3866) 2023-07-13 18:18:54 -07:00
A. Jiang a4bb668f72
Move some components from upstream headers to downstream (#3719)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2023-05-30 15:58:38 -07:00
Stephan T. Lavavej a62109595b
Toolset update: VS 2022 17.7 Preview 1 (#3711)
* PowerShell 7.3.4.

* New pool.

* VS 2022 17.7 Preview 1.

* Require Clang 16.

* Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'.

* Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3".

* Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented".

* [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`.

* [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings.

* [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct).

* [llvm16] Disambiguate `tuple` comparison operators.

* [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`.

* [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`.

* [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`.

* [llvm16 followup] Improve arrow comments.

* [llvm16 followup] We `_EXPORT_STD` both declarations and definitions.

* Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link".

* Guard `_addcarry_u64`/`_subborrow_u64` for Clang.

* `LDBL_DECIMAL_DIG` is now missing for Clang too.

* Although LLVM-46207 is still open, Clang now likes tgmath.h.

* Cite LLVM-62096 "Clang complains about concept depending on itself".

* Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows".

* clang-format 16, no manual changes.

The changes are almost entirely positive, with no horrible mangling,
and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups.

* .clang-format: Update link to Clang 16.

* .clang-format: Sort defaults, no behavioral changes.

* .clang-format: Drop commented-out defaults, no behavioral changes.

`BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma`
were never documented and aren't printed out by `-dump-config` anymore.

The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore.

`ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine`
are now deprecated and aren't printed out by `-dump-config` anymore.

* .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes.

* .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes.

* .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes.

* .clang-format: Add new defaults, no behavioral changes.

* .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now.

* .clang-format: `RemoveSemicolon` is new, set it to `true`.

* clang-format 16, no manual changes - remove semicolons.

---------

Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-18 14:14:16 -07:00
A. Jiang 522149cff1
Implement P2614R2 Deprecating `float_denorm_style`, `numeric_limits::has_denorm`, `numeric_limits::has_denorm_loss` (#3482) 2023-04-20 13:50:17 -07:00
Igor Zhukov b60e5fe4c4
enable ubsan (#3452)
Co-authored-by: A. Jiang <de34@live.cn>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-03-13 16:39:50 -07:00
Stephan T. Lavavej 33e472351b
Cleanups: Test options (#3527) 2023-03-07 11:39:33 -08:00
Stephan T. Lavavej 9a0f5b6dd5
Remove workarounds for /clr C++20 (#3499) 2023-02-26 00:14:00 -08:00
A. Jiang 5b206670a6
Implement LWG-3869 Deprecate `std::errc` constants related to UNIX STREAMS (#3487)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2023-02-22 18:08:07 -08:00
Stephan T. Lavavej ea092540b4
Enable `/clr` C++20 support (#3194) 2022-11-07 18:45:18 -08:00
Stephan T. Lavavej 2f8342a3a5
Toolset update: VS 2022 17.4 Preview 3, Clang 15 (#3155)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-10-14 13:00:48 -07:00
Casey Carter 9de55f1c72
Fix test suite issues discovered by Clang 15 (#3135) 2022-10-12 07:04:29 -07:00
Stephan T. Lavavej 18451dc254
Toolset update: VS 2022 17.3 Preview 3, Clang 14 (#2861)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-07-14 15:03:09 -07:00
nicole mazzuca 088818bf44
[benchmark] add gbenchmark (#2780)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-06-30 19:14:34 -07:00
Xiang Fan f6eee7ac1c
Port MSVC-PR-407767 (#2830)
Allow passing additional compiler flags if the compiler is cl.exe. (This is for passing extra flags to the internal "checked" builds of the compiler, enabling use-after-free memory checking in the compiler itself (at a ~15% throughput cost). These flags don't exist in shipping builds of the compiler, thus there's nothing to do for our GitHub test harness.)
2022-06-28 16:57:29 -07:00
Igor Zhukov 9ca4a292c2
`<ciso646>` is removed in C++20 (#2710)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 21:34:26 -07:00
Alex Guteniev cbd964dd8f
P1413R3 Deprecate `aligned_storage` & `aligned_union` (#2583)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 20:48:21 -07:00
Stephan T. Lavavej a12e73c1f7
Toolset update: VS 2022 17.3 Preview 1 (#2714) 2022-05-12 13:36:47 -07:00
Stephan T. Lavavej 9bf8f3f9b0
Even more various cleanups (#2656) 2022-04-15 20:21:08 -07:00
Casey Carter 5d3f40987c
Update env.lsts for improved vcruntime detection of Clang mode (#2637) 2022-04-15 17:32:49 -07:00
Stephan T. Lavavej f310638f9d
Various cleanups (#2595) 2022-03-19 03:18:47 -07:00
Igor Zhukov 430bb0a108
Implement P2273R3 `constexpr` `unique_ptr` (#2582)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-03-16 22:54:01 -07:00
Mital Ashok 38ddb14c63
Allow promises to be constructed for non-default-constructible types (#2568)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-03-03 19:59:21 -08:00
Igor Zhukov 202e42a96a
Implement LWG-3598 `system_category().default_error_condition(0)` (#2560) 2022-02-17 18:00:50 -08:00
Stephan T. Lavavej 33007ac754
Toolset update: VS 2022 17.1 Preview 2, Clang 13 (#2474) 2022-01-19 17:22:46 -08:00
Stefan 20fea3fbe0
Fix begin/end for valarray crashing on empty instance (#2435)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-01-19 16:42:21 -08:00
Alex Guteniev beebe5b568
Don't hide format string from the compiler (#2346) 2021-12-08 17:52:51 -08:00
Casey Carter f852cb042f
Clearing the way for LLVM 13 (#2266) 2021-12-08 17:30:35 -08:00
Stephan T. Lavavej dc888f7d9f
`tests/tr1`: Fix sporadic failures caused by `tmpnam`/`_tempnam` (#2210) 2021-09-24 20:29:15 -07:00
Stephan T. Lavavej d6f9987d7e
Skip flaky tr1 tests. (#2202) 2021-09-14 13:48:58 -07:00
Stephan T. Lavavej 9a9820df1a
Toolset update: VS 2022 17.0 Preview 2 (#2064) 2021-07-19 17:53:06 -07:00
Igor Zhukov e745bad3b1
P2186R2 Removing Garbage Collection Support (#2010)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 16:22:11 -07:00
Casey Carter 3cafa97eec
Implement the ABI plan from GH-1814 (#1929)
* Implement the ABI plan from GH-1814

* Condition `<format>` and "`<chronat>`" on `__cpp_lib_format` instead of `__cpp_lib_concepts`.
* Condition the `view` concept - and everything that relies on it, including all of `<ranges>` - on `__cpp_lib_ranges` in addition to `__cpp_lib_concepts`.
* Add C++23 STL and testing infrastructure:
  * Define `_HAS_CXX23` in `<yvals_core.h>`. We'll eventually want this to move into `<vcruntime.h>` so all `_HAS_CXXMEOW` definitions are nicely localized.
  * `_HAS_CXX23` is defined to `1` iff `_HAS_CXX20 != 0` and `_MSVC_LANG` (if defined) or `__cplusplus` (otherwise) is greater than C++20's value of `202002L`. For Clang coverage, we'll have to manually define `_HAS_CXX23` to `1` until Clang updates their `__cplusplus` value for `/std:c++latest`.
  * Rename `meow_concepts_woof.lst` to `meow_concepts_latest_woof.lst`.
  * Update test matrices: Copy all `meow_latest_woof.lst` matrices to `meow_20_woof.lst`. Add `/std:c++20` coverage to the latter (still spelled `/std:c++latest` for Clang which doesn't grok `/std:c++20`) by duplicating the C++17 configs. `/std:c++latest` becomes C++23 mode (with additions of `/D_HAS_CXX23` for Clang).
  * Replace uses of `meow_latest_woof.lst` with `meow_20_woof.lst`, except for a few tests that are only intended to have `latest` coverage, notably `include_each_header_alone` and all of `libcxx`.
* Only define `__cpp_lib_format` and `__cpp_lib_ranges` in C++23 mode. Update the feature-test macro test accordingly.
2021-05-26 19:25:12 -07:00
Bishwajeet Parhi 905613b90d
Add _NODISCARD to stoi() etc. and various <locale> functions (#1809)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-05-20 19:24:52 -07:00