Implements parts of
- P2286R8 Formatting Ranges
Paths
| Differential D134036
[libc++][format] Implements string escaping. ClosedPublic Authored by Mordante on Sep 16 2022, 6:19 AM.
Details
Summary Implements parts of
Diff Detail
Event TimelineMordante added inline comments.
Comment Actions Overall, this looks really good to me. I think I spotted an issue with handling of ill-formed UTF-16 though. The code also appears to assume that characters in the ASCII range have the same value for all CharT types. In general, that is not true. For Clang specifically that would not be true when targeting an EBCDIC-based platform (unless wchar_t is for a wide-EBCDIC variant in that case? But even then, there would be mismatches for char8_t, char16_t and char32_t though specification for those types is currently lacking).
Comment Actions Thanks for the review @tahonermann. Seems I didn't submit my replies before.
Mordante marked 2 inline comments as done. Comment ActionsRebased, fix CI, and address review comment.
Comment Actions I did not look at the algorithms used in detail, but the overall shape LGTM. I'm happy if tests are passing and @tahonermann is happy. Unblocking libc++ review, @tahonermann please let @Mordante know once you're satisfied! Thanks!
This revision is now accepted and ready to land.Oct 18 2022, 10:43 AM Mordante marked an inline comment as done. Comment ActionsRebased, address review comments, and fix CI. h-vetinari added inline comments.
Closed by commit rGa48007355a03: [libc++][format] Implements string escaping. (authored by Mordante). · Explain WhyOct 20 2022, 8:29 AM This revision was automatically updated to reflect the committed changes. Comment Actions So I'm seeing a libcxx build failure from this patch, though it is pretty clear it is revealing a Clang bug. I'm having trouble minimizing it though, so I was hoping you/someone here could help with it? llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) Using %{cxx} substitution: '/iusers/ekeane1/workspaces/delayed-concepts/build/./bin/clang++' llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) Using %{flags} substitution: ' --target=x86_64-unknown-linux-gnu' llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) Using %{compile_flags} substitution: '-nostdinc++ -I %{include} -I %{target-include} -I %{libcxx}/test/support -std=c++2b -fmodules -fcxx-modules -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-noexcept-type -Wno-atomic-alignment -W no-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_DISABLE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings' llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) Using %{link_flags} substitution: '-lc++experimental -nostdlib++ -L %{lib} -Wl,-rpath,%{lib} -lc++ -pthread' llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) Using %{exec} substitution: '%{executor} --execdir %T -- ' llvm-lit: /iusers/ekeane1/workspaces/delayed-concepts/libcxx/utils/libcxx/test/newconfig.py:19: note: (llvm-libc++-shared.cfg.in) All available features: modules-build, verify-support, clang-16.0, locale.fr_CA.ISO8859-1, clang, stdlib=libc++, long_tests, clang-16.0.0, fcoroutines-ts, locale.zh_CN.UTF-8, locale.ja_JP.UTF-8, linux, objective-c++, has-fblocks, target=x86_64-unknown-linux-gnu, buildhost=linux, locale.fr_FR.UTF-8, c++experimental, locale.cs_CZ.ISO8859-2, libcpp -abi-version=1, fdelayed-template-parsing, diagnose-if-support, locale.en_US.UTF-8, stdlib=llvm-libc++, has-fconstexpr-steps, -fsized-deallocation, clang-16, c++2b, thread-safety, -faligned-allocation, locale.ru_RU.UTF-8, has-unix-headers FAIL: llvm-libc++-shared.cfg.in :: std/utilities/format/format.functions/escaped_output.ascii.pass.cpp (1 of 7790) ******************** TEST 'llvm-libc++-shared.cfg.in :: std/utilities/format/format.functions/escaped_output.ascii.pass.cpp' FAILED ******************** Script: -- : 'COMPILED WITH'; /iusers/ekeane1/workspaces/delayed-concepts/build/./bin/clang++ /localdisk2/ekeane1/workspaces/delayed-concepts/libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.pass.cpp --target=x86_64-unknown-linux-gnu -nostdinc++ -I /iusers/ekeane1/workspaces/delayed-concepts/build/include/c++/v1 -I /iusers/ekeane1/workspaces/delayed-concepts/build/include/x86_64-unknown-linux-gnu/c++/v1 -I /iusers/ekeane1/workspaces/delayed-concepts/libcxx/tes t/support -std=c++2b -fmodules -fcxx-modules -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-noexcept-type -Wno-atomic-alignment -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_DISAB LE_AVAILABILITY -fcoroutines-ts -Werror=thread-safety -Wuser-defined-warnings -D_LIBCPP_HAS_NO_UNICODE -lc++experimental -nostdlib++ -L /iusers/ekeane1/workspaces/delayed-concepts/build/./lib/x86_64-unknown-linux-gnu -Wl,-rpath,/iusers/ekeane1/workspaces/delayed-concepts/build/./lib/x86_64-unknown-linux-gnu -lc++ -pthread -o /localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions/Output/escaped_output.ascii.pa ss.cpp.dir/t.tmp.exe : 'EXECUTED AS'; "/usr/bin/python3.6" /iusers/ekeane1/workspaces/delayed-concepts/libcxx/test/../utils/run.py --execdir /localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions/Output/escaped_output.ascii.pass.cpp.dir -- /localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions/Output/escaped_output.ascii.pass.cpp.dir/t.tmp.exe -- Exit Code: 1 Command Output (stdout): -- $ ":" "COMPILED WITH" $ "/iusers/ekeane1/workspaces/delayed-concepts/build/./bin/clang++" "/localdisk2/ekeane1/workspaces/delayed-concepts/libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.pass.cpp" "--target=x86_64-unknown-linux-gnu" "-nostdinc++" "-I" "/iusers/ekeane1/workspaces/delayed-concepts/build/include/c++/v1" "-I" "/iusers/ekeane1/workspaces/delayed-concepts/build/include/x86_64-unknown-linux-gnu/c++/v1" "-I" "/iusers/ekeane1/workspaces/delayed-concepts/libcxx/test/support" "-std=c++2b" "-fmodules" "-fcxx-modules" "-Werror" "-Wall" "-Wctad-maybe-unsupported" "-Wextra" "-Wshadow" "-Wundef" "-Wno-unused-command-line-argument" "-Wno-attributes" "-Wno-pessimizing-move" "-Wno-c++11-extensions" "-Wno-noexcept-type" "-Wno-atomic-alignment" "-Wno-user-defined-literals" "-Wno-tautological-compare" "-Wsign-compare" "-Wunused-variable" "-Wunused-parameter" "-Wunreachable-code" "-Wno-unused-local-typedef" "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER" "-D_LIBCPP_ENABLE_EXPERIMENTAL" "-D_LIBCPP_DISABLE_AVAILABILITY" "-fcoroutines-ts" "-Werror=thread-safety" "-Wuser-defined-warnings" "-D_LIBCPP_HAS_NO_UNICODE" "-lc++experimental" "-nostdlib++" "-L" "/iusers/ekeane1/workspaces/delayed-concepts/build/./lib/x86_64-unknown-linux-gnu" "-Wl,-rpath,/iusers/ekeane1/workspaces/delayed-concepts/build/./lib/x86_64-unknown-linux-gnu" "-lc++" "-pthread" "-o" "/localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions/Output/escaped_output.ascii.pass.cpp.dir/t.tmp.exe" # command stderr: clang-16: tools/clang/include/clang/AST/AbstractBasicReader.inc:736: clang::APValue clang::serialization::BasicReaderBase<T>::readAPValue() [with Impl = clang::ASTRecordReader]: Assertion `lvaluePath->getType() == elemTy && "Unexpected type reference!"' failed. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -main-file-name escaped_output.ascii.pass.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions -nostdinc++ -resource-dir /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0 -I /iusers/ekeane1/workspaces/delayed-concepts/build/include/c++/v1 -I /iusers/ekeane1/workspaces/delayed-concepts/build/include/x86_64-unknown-linux-gnu/c++/v1 -I /iusers/ekeane1/workspaces/delayed-concepts/libcxx/test/support -D _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D _LIBCPP_ENABLE_EXPERIMENTAL -D _LIBCPP_DISABLE_AVAILABILITY -D _LIBCPP_HAS_NO_UNICODE -internal-isystem /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-redhat-linux/8/../../../../x86_64-redhat-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-c++11-extensions -Wno-noexcept-type -Wno-atomic-alignment -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Werror=thread-safety -Wuser-defined-warnings -std=c++2b -fdeprecated-macro -fdebug-compilation-dir=/localdisk2/ekeane1/workspaces/delayed-concepts/build/runtimes/runtimes-bins/test/std/utilities/format/format.functions -ferror-limit 19 -pthread -fcoroutines-ts -fgnuc-version=4.2.1 -fmodules -fimplicit-module-maps -fmodules-cache-path=/nfs/site/home/ekeane1/.cache/clang/ModuleCache -fmodules-validate-system-headers -fcxx-exceptions -fexceptions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/lit-tmp-ddqg5hwq/escaped_output-3e7200.o -x c++ /localdisk2/ekeane1/workspaces/delayed-concepts/libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.pass.cpp 1. <eof> parser at end of file 2. Per-file LLVM IR generation 3. /iusers/ekeane1/workspaces/delayed-concepts/build/include/c++/v1/__format/formatter_output.h:443:1: Generating code for declaration 'std::__formatter::__is_escaped_sequence_written' #0 0x0000000007ff1cff PrintStackTraceSignalHandler(void*) Signals.cpp:0:0 #1 0x0000000007fef44c SignalHandler(int) Signals.cpp:0:0 #2 0x00007f4a9fb0bdd0 __restore_rt sigaction.c:0:0 #3 0x00007f4a9e34e70f raise (/lib64/libc.so.6+0x3770f) #4 0x00007f4a9e338b25 abort (/lib64/libc.so.6+0x21b25) #5 0x00007f4a9e3389f9 _nl_load_domain.cold.0 loadmsgcat.c:0:0 #6 0x00007f4a9e346cc6 .annobin___GI___assert_fail.end assert.c:0:0 #7 0x0000000008ddfda8 clang::serialization::BasicReaderBase<clang::ASTRecordReader>::readAPValue() ASTReaderDecl.cpp:0:0 #8 0x0000000008df0c99 clang::ASTStmtReader::VisitConstantExpr(clang::ConstantExpr*) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8df0c99) #9 0x0000000008df1eda clang::ASTReader::ReadStmtFromStream(clang::serialization::ModuleFile&) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8df1eda) #10 0x0000000008d5a3e4 clang::ASTReader::GetExternalDeclStmt(unsigned long) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8d5a3e4) #11 0x000000000ac32830 clang::FunctionDecl::getBody(clang::FunctionDecl const*&) const (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0xac32830) #12 0x00000000084c6f71 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x84c6f71) #13 0x0000000008418cf6 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8418cf6) #14 0x0000000008414db5 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8414db5) #15 0x000000000841d339 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d339) #16 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #17 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #18 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #19 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #20 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #21 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #22 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #23 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #24 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #25 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #26 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #27 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #28 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #29 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #30 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #31 0x000000000841d288 clang::CodeGen::CodeGenModule::EmitDeferred() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x841d288) #32 0x00000000084200bd clang::CodeGen::CodeGenModule::Release() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x84200bd) #33 0x0000000008d0fb1a (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) ModuleBuilder.cpp:0:0 #34 0x0000000008d0f29d clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) CodeGenAction.cpp:0:0 #35 0x0000000009f41bbd clang::ParseAST(clang::Sema&, bool, bool) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x9f41bbd) #36 0x0000000008d0e398 clang::CodeGenAction::ExecuteAction() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8d0e398) #37 0x0000000008c2cf09 clang::FrontendAction::Execute() (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8c2cf09) #38 0x0000000008bc1fe1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8bc1fe1) #39 0x0000000008d05b3b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x8d05b3b) #40 0x00000000056a2474 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x56a2474) #41 0x000000000569b057 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0 #42 0x000000000569f98b clang_main(int, char**) (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x569f98b) #43 0x00007f4a9e33a6a3 __libc_start_main (/lib64/libc.so.6+0x236a3) #44 0x000000000569a92e _start (/localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang-16+0x569a92e) clang-16: error: unable to execute command: Aborted (core dumped) clang-16: error: clang frontend command failed due to signal (use -v to see invocation) clang version 16.0.0 (https://github.com/llvm/llvm-project.git a48007355a03851f0f9bfcafd7a7865ca7467416) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /iusers/ekeane1/workspaces/delayed-concepts/build/./bin clang-16: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-16: note: diagnostic msg: /tmp/lit-tmp-ddqg5hwq/escaped_output-b4d1d3.cpp clang-16: note: diagnostic msg: /tmp/lit-tmp-ddqg5hwq/escaped_output-b4d1d3.cache clang-16: note: diagnostic msg: /tmp/lit-tmp-ddqg5hwq/escaped_output-b4d1d3.sh clang-16: note: diagnostic msg: ******************** This happens consistently for me (across a number of files), in all compile modes, but with libcxx modules enabled cmake -G Ninja ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On -DLLVM_ENABLE_PROJECTS="clang;lldb" -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DLLVM_USE_LINKER=lld -DLIBCXX_TEST_PARAMS="enable_modules=True" I just don't really have a good idea how to debug it however, nor what ended up causing this. So any help you could provide would be grately appreciated. The result as it sits is that I have no ability to test libcxx. Also, perhaps @ChuanqiXu or @urnathan have some idea, as this DOES seem modules related. Comment Actions @erichkeane I reproduced it but I don't have enough time to look at it actually today. Comment Actions
Whew, at least I'm not the only one having this problem :D The build-bots for libcxx never caught it, so I was afraid it was a problem with my setup. I Tried to debug it for a while, and kept getting caught up in the module serialization/deserialization parts, and got lost :/ Comment Actions
I'm not sure if we can fix it quickly (I have too many TODOs). It looks like we need require the build-bots for libcxx to get some new setups. Comment Actions
I filed an issue for it to make it easier to track: https://github.com/llvm/llvm-project/issues/58716 Comment Actions
Thank you!
Revision Contents
Diff 469241 libcxx/docs/Status/Cxx2bPapers.csv
libcxx/docs/Status/FormatPaper.csv
libcxx/include/CMakeLists.txt
libcxx/include/__format/escaped_output_table.h
libcxx/include/__format/formatter_char.h
libcxx/include/__format/formatter_output.h
libcxx/include/__format/formatter_string.h
libcxx/include/__format/parser_std_format_spec.h
libcxx/include/__format/unicode.h
libcxx/include/module.modulemap.in
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.const_char_array.pass.cpp
libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
libcxx/test/std/utilities/format/format.functions/escaped_output.ascii.pass.cpp
libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
libcxx/test/std/utilities/format/format.functions/format_tests.h
libcxx/test/std/utilities/format/format.functions/unicode.pass.cpp
libcxx/test/support/test_macros.h
libcxx/utils/CMakeLists.txt
libcxx/utils/ci/run-buildbot
libcxx/utils/data/unicode/DerivedCoreProperties.txt
libcxx/utils/data/unicode/DerivedGeneralCategory.txt
libcxx/utils/data/unicode/README.txt
libcxx/utils/generate_escaped_output_table.py
|
?