[all-commits] [llvm/llvm-project] 0aa637: [libc++] Improve src/filesystem's formatting of pa...

Quuxplusone via All-commits all-commits at lists.llvm.org
Tue Mar 16 12:01:04 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0aa637b2037d882ddf7861284169abf63f524677
      https://github.com/llvm/llvm-project/commit/0aa637b2037d882ddf7861284169abf63f524677
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2021-03-16 (Tue, 16 Mar 2021)

  Changed paths:
    M libcxx/include/__config
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/filesystem_common.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libc++] Improve src/filesystem's formatting of paths.

This is my attempt to merge D98077 (bugfix the format strings for
Windows paths, which use wchar_t not char)
and D96986 (replace C++ variadic templates with C-style varargs so that
`__attribute__((format(printf)))` can be applied, for better safety)
and D98065 (remove an unused function overload).

The one intentional functional change here is in `__create_what`.
It now prints path1 and path2 in square-brackets _and_ double-quotes,
rather than just square-brackets. Prior to this patch, it would
print either path double-quoted if-and-only-if it was the empty
string. Now the double-quotes are always present. I doubt anybody's
code is relying on the current format, right?

Differential Revision: https://reviews.llvm.org/D98097




More information about the All-commits mailing list