[PATCH] D79531: Make -Wnonportable-include-path ignore drive case on Windows.

Hans Wennborg via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 7 07:54:14 PDT 2020


hans accepted this revision.
hans added a comment.
This revision is now accepted and ready to land.

Looks reasonable to me, but Windows paths are scary..



================
Comment at: clang/lib/Lex/PPDirectives.cpp:2112
+    // letter for absolute paths, but Name might start with either
+    // case depending on if `cd c:\foo` or `cd C:\foo` was used.
+    // ("foo" will always have on-disk case, no matter which case was
----------------
Maybe expand "was used" to "was used in the shell" or something. It may not be clear for people without context, since this whole thing is pretty obscure.


================
Comment at: clang/lib/Lex/PPDirectives.cpp:2123
+        isLowercase(Name[0]) != isLowercase(RealPathName[0])) {
+      assert(Components.size() >= 3 && "should have drive, backslash, name");
+      FixedDriveRealPath = (Name.substr(0, 1) + RealPathName.substr(1)).str();
----------------
Could it be different for e.g. network drives? I guess maybe they'd still have at least 3 components, but perhaps no drive letter


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

https://reviews.llvm.org/D79531





More information about the cfe-commits mailing list