Spurious clang warning about non-portable path with case-sensitive symlink

Originator:steven
Number:rdar://38963247 Date Originated:28 March 2018
Status:Open Resolved:
Product:Developer Tools Product Version:
Classification:Other Bug Reproducible:Always
 
### Summary:

When importing symlinked header files, clang sometimes seems to compare the imported path to the symlink target, rather than to the path of the symlink itself. It may then issue a spurious warning about a mismatch between the cases of the two paths, like this one:

`Non-portable path to file '<protobuf/Any.pbobjc.h>'; specified path differs in case from file name on disk`

There is additional discussion in https://github.com/google/protobuf/issues/3218. We have not been able to reproduce the issue with a simpler project than the attached, and suspect there is something in addition to the case mismatch necessary to trigger the warning.

### Steps to Reproduce:

1. Download and unzip the attached TestApp project
2. Run `pod install` from the unzipped directory and open TestApp.xcworkspace 
3. Build the app for the iPhone X simulator

### Expected Results:

The app builds without any warnings.

### Actual Results:

The app builds with thirteen warnings similar to the one described above.

### Version/Build:

macOS 10.13.3 (17D102)
Xcode 9.2 (9C40b)
CocoaPods 1.4.0

### Attachments:

https://github.com/google/protobuf/files/1854645/TestApp.Swift.with.Firestore.zip

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!