Index: TODO.TXT =================================================================== --- TODO.TXT +++ TODO.TXT @@ -27,20 +27,20 @@ * INCOMPLETE - US 34: Are there attributes of a file that are not an aspect of the file system? * INCOMPLETE - US 35: What synchronization is required to avoid a file system race? * INCOMPLETE - US 36: Symbolic links themselves are attached to a directory via (hard) links - * INCOMPLETE - US 37: The term “redundant current directory (dot) elements” is not defined - * INCOMPLETE - US 38: Duplicates §17.3.16 + * INCOMPLETE - US 37: The term "redundant current directory (dot) elements" is not defined + * INCOMPLETE - US 38: Duplicates 17.3.16 * INCOMPLETE - US 39: Remove note: Dot and dot-dot are not directories * INCOMPLETE - US 40: Not all directories have a parent. - * INCOMPLETE - US 41: The term “parent directory” for a (non-directory) file is unusual + * INCOMPLETE - US 41: The term "parent directory" for a (non-directory) file is unusual * INCOMPLETE - US 42: Pathname resolution does not always resolve a symlink * INCOMPLETE - US 43: Concerns about encoded character types * INCOMPLETE - US 44: Definition of path in terms of a string requires leaky abstraction * INCOMPLETE - US 45: Generic format portability compromised by unspecified root-name * INCOMPLETE - US 46: filename can be empty so productions for relative-path are redundant - * INCOMPLETE - US 47: “.” and “..” already match the name production + * INCOMPLETE - US 47: "." and ".." already match the name production * INCOMPLETE - US 48: Multiple separators are often meaningful in a root-name - * INCOMPLETE - US 49: What does “method of conversion method” mean? - * INCOMPLETE - US 50: 27.10.8.1 ¶ 1.4 largely redundant with ¶ 1.3 + * INCOMPLETE - US 49: What does "method of conversion method" mean? + * INCOMPLETE - US 50: 27.10.8.1 p1.4 largely redundant with p1.3 * INCOMPLETE - US 51: Failing to add / when appending empty string prevents useful apps * INCOMPLETE - US 52: remove_filename() postcondition is not by itself a definition * INCOMPLETE - US 53: remove_filename()'s name does not correspond to its behavior @@ -55,7 +55,7 @@ * INCOMPLETE - US 62: It is important that stem()+extension()==filename() * INCOMPLETE - US 63: lexically_normal() inconsistently treats trailing "/" but not "/.." as directory * INCOMPLETE - US 73, CA 2: root-name is effectively implementation defined - * INCOMPLETE - US 74, CA 3: The term “pathname” is ambiguous in some contexts + * INCOMPLETE - US 74, CA 3: The term "pathname" is ambiguous in some contexts * INCOMPLETE - US 75, CA 4: Extra flag in path constructors is needed * INCOMPLETE - US 76, CA 5: root-name definition is over-specified. * INCOMPLETE - US 77, CA 6: operator/ and other appends not useful if arg has root-name Index: benchmarks/util_smartptr.bench.cpp =================================================================== --- benchmarks/util_smartptr.bench.cpp +++ benchmarks/util_smartptr.bench.cpp @@ -1,42 +1,42 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include - -#include "benchmark/benchmark_api.h" - -static void BM_SharedPtrCreateDestroy(benchmark::State& st) { - while (st.KeepRunning()) { - auto sp = std::make_shared(42); - benchmark::DoNotOptimize(sp.get()); - } -} -BENCHMARK(BM_SharedPtrCreateDestroy); - -static void BM_SharedPtrIncDecRef(benchmark::State& st) { - auto sp = std::make_shared(42); - benchmark::DoNotOptimize(sp.get()); - while (st.KeepRunning()) { - std::shared_ptr sp2(sp); - benchmark::ClobberMemory(); - } -} -BENCHMARK(BM_SharedPtrIncDecRef); - -static void BM_WeakPtrIncDecRef(benchmark::State& st) { - auto sp = std::make_shared(42); - benchmark::DoNotOptimize(sp.get()); - while (st.KeepRunning()) { - std::weak_ptr wp(sp); - benchmark::ClobberMemory(); - } -} -BENCHMARK(BM_WeakPtrIncDecRef); - -BENCHMARK_MAIN() +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include + +#include "benchmark/benchmark_api.h" + +static void BM_SharedPtrCreateDestroy(benchmark::State& st) { + while (st.KeepRunning()) { + auto sp = std::make_shared(42); + benchmark::DoNotOptimize(sp.get()); + } +} +BENCHMARK(BM_SharedPtrCreateDestroy); + +static void BM_SharedPtrIncDecRef(benchmark::State& st) { + auto sp = std::make_shared(42); + benchmark::DoNotOptimize(sp.get()); + while (st.KeepRunning()) { + std::shared_ptr sp2(sp); + benchmark::ClobberMemory(); + } +} +BENCHMARK(BM_SharedPtrIncDecRef); + +static void BM_WeakPtrIncDecRef(benchmark::State& st) { + auto sp = std::make_shared(42); + benchmark::DoNotOptimize(sp.get()); + while (st.KeepRunning()) { + std::weak_ptr wp(sp); + benchmark::ClobberMemory(); + } +} +BENCHMARK(BM_WeakPtrIncDecRef); + +BENCHMARK_MAIN() Index: test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp =================================================================== --- test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp +++ test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp @@ -117,7 +117,7 @@ assert(ex == -123456789); } { // zero, showbase - std::string v = "0,00 \u20ac"; // € + std::string v = "0,00 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -129,7 +129,7 @@ assert(ex == 0); } { // zero, showbase - std::string v = "0,00 \u20ac"; // € + std::string v = "0,00 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -141,7 +141,7 @@ assert(ex == 0); } { // negative one, showbase - std::string v = "-0,01 \u20ac"; + std::string v = "-0,01 \u20ac"; // EURO SIGN typedef input_iterator I; long double ex; std::ios_base::iostate err = std::ios_base::goodbit; @@ -152,7 +152,7 @@ assert(ex == -1); } { // negative one, showbase - std::string v = "-0,01 \u20ac"; + std::string v = "-0,01 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -164,7 +164,7 @@ assert(ex == -1); } { // positive, showbase - std::string v = "1 234 567,89 \u20ac"; + std::string v = "1 234 567,89 \u20ac"; // EURO SIGN typedef input_iterator I; long double ex; std::ios_base::iostate err = std::ios_base::goodbit; @@ -175,7 +175,7 @@ assert(ex == 123456789); } { // positive, showbase - std::string v = "1 234 567,89 \u20ac"; + std::string v = "1 234 567,89 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -188,7 +188,7 @@ noshowbase(ios); } { // negative, showbase - std::string v = "-1 234 567,89 \u20ac"; + std::string v = "-1 234 567,89 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -450,7 +450,7 @@ assert(ex == -123456789); } { // zero, showbase - std::wstring v = L"0,00 \u20ac"; + std::wstring v = L"0,00 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -462,7 +462,7 @@ assert(ex == 0); } { // zero, showbase - std::wstring v = L"0,00 \u20ac"; + std::wstring v = L"0,00 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -474,7 +474,7 @@ assert(ex == 0); } { // negative one, showbase - std::wstring v = L"-0,01 \u20ac"; + std::wstring v = L"-0,01 \u20ac"; // EURO SIGN typedef input_iterator I; long double ex; std::ios_base::iostate err = std::ios_base::goodbit; @@ -485,7 +485,7 @@ assert(ex == -1); } { // negative one, showbase - std::wstring v = L"-0,01 \u20ac"; + std::wstring v = L"-0,01 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -497,7 +497,7 @@ assert(ex == -1); } { // positive, showbase - std::wstring v = L"1 234 567,89 \u20ac"; + std::wstring v = L"1 234 567,89 \u20ac"; // EURO SIGN typedef input_iterator I; long double ex; std::ios_base::iostate err = std::ios_base::goodbit; @@ -508,7 +508,7 @@ assert(ex == 123456789); } { // positive, showbase - std::wstring v = L"1 234 567,89 \u20ac"; + std::wstring v = L"1 234 567,89 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; @@ -521,7 +521,7 @@ noshowbase(ios); } { // negative, showbase - std::wstring v = L"-1 234 567,89 \u20ac"; + std::wstring v = L"-1 234 567,89 \u20ac"; // EURO SIGN showbase(ios); typedef input_iterator I; long double ex; Index: test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp =================================================================== --- test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp +++ test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp @@ -26,7 +26,7 @@ #include "uses_alloc_types.hpp" #include "controlled_allocators.hpp" -// — If uses_allocator_v is false and +// - If uses_allocator_v is false and // is_constructible_v is true, calls // OUTERMOST_ALLOC_TRAITS(*this)::construct( // OUTERMOST (*this), p, std::forward(args)...).