[PATCH] D68033: [llvm-ar] Make paths case insensitive when on windows

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 15 03:46:48 PDT 2019


ruiu added inline comments.


================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:40-41
+*Windows Paths*
+ When on a non-Windows machine **llvm-ar** treats the names of archived
+ *files* in a case sensitive manner. When on Windows **llvm-ar** treats the
+ names of archived *files* in the same case insensitive manner as the Windows
----------------
Expressing Unix filesystems as case-sensitive is perhaps correct, but the more precise way of expressing it is that the filesystem layer doesn't have a notion of character case.


================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:41
+ When on a non-Windows machine **llvm-ar** treats the names of archived
+ *files* in a case sensitive manner. When on Windows **llvm-ar** treats the
+ names of archived *files* in the same case insensitive manner as the Windows
----------------
Looks like focusing on visible behavior makes this document easier to understand. From the user's point of view, the difference is this: If a new file is given to llvm-ar to add or replace an existing file, the filename of the new file is compared to each member of the archive. On Windows, this comparison is done in a case-insensitive manner (e.g. if you already have foo.o and add/replace FOO.o, it will replace the existing file). On other OSes, this comparison is done just by byte-by-byte comparison.


================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:44
+ file system. Note that as the Windows file system is not compliant with the
+ Unicode standard, **llvm-ar** case folding is not compliant with the Unicode
+ standard.
----------------
What does it actually mean by non-standard compliant?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68033/new/

https://reviews.llvm.org/D68033





More information about the llvm-commits mailing list