-
Notifications
You must be signed in to change notification settings - Fork 15.5k
Description
commit 578a471
Author: Arthur Eubanks aeubanks@google.com
It appears that this commit unintentionally made -canonical-system-headers==true as default.
If anyone needs the old behavior he needs to specify -no-canonical-prefixes option.
Logically it should be visa-versa, if anyone needs the new behavior, let him use -canonical-prefixes option.
This change in the clang default behavior causes some other tools that rely on the older format of the dependencies file to work incorrectly. (for example we have Visual Studio extension software that relies on the dependencies file)
On Windows platform, if your system headers located a network drive or on drive that was created by the SUBST command
you will get a fully resolved real file path in the dependencies file
For example;
Lets assume that you have a network drive H: on which you have system headers.
before the commit a path to a include file in the dependencies file looked like:
H:\target\include\sdk_version.h
After the commit the include file path looks like that:
\\SERVERNAME\shared_folder\target\include\sdk_version.h
```
The situation becomes worse if a combined length of a shared folder on a network server and a include file path on a shared network drive is greater than 260 symbols (MAX_PATH limit on Windows). In this situation you will observe bogus include file paths in the dependencies file.
(this problem probably should be a subject to another ticket)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status