New Build System: Issue Navigator doesn't jump to errors in headers when header maps are disabled

Originator:ryan.brown
Number:rdar://FB7673400 Date Originated:April 23 2020
Status:Open Resolved:
Product:Xcode Product Version:11.4.1
Classification: Reproducible:
 
We disable header maps (USE_HEADERMAP = NO) to enforce that C++ headers are included using their complete path (e.g., "mycompany/foo.hpp", not just "foo.hpp"). When using the New Build System, this breaks the Issue Navigator: it doesn't jump to an error in the editor when clicking on an issue in a header. The Issue Navigator works when using the Legacy Build System.

The example project is the macOS Command Line Tool template with "USE_HEADERMAP = NO" and "HEADER_SEARCH_PATHS = include" set at project scope.

Steps to reproduce:
1. Clone https://github.com/ryb-ableton/XcodeNewBuildSystemIssueNavigatorBug
2. Open "XcodeNewBuildSystemIssueNavigatorBug.xcodeproj"
3. Build
4. Open the Issue Navigator pane
5. Click on the error (on the "I'm an error - try to navigate to me" text)

Expected:
Xcode jumps to the error in the editor

Actual:
An alert sound is played and Xcode does not open "foo.h"

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!