https://gcc.gnu.org/g:56009066d29a328757fb9ed64a6033838e516584
commit r15-10851-g56009066d29a328757fb9ed64a6033838e516584 Author: Nathaniel Shead <[email protected]> Date: Sun Feb 22 00:32:00 2026 +1100 libcpp: Fix reading from stdin with -fsearch-include-path [PR119756] When using -fsearch-include-path, we prepend the result of search_path_head to the provided filenames, which for non-absolute paths will return "./". At this point, stdin is represented by the empty string, and so prepending "./" confuses 'open_file'. This patch fixes the issue by treating stdin as-if it were an absolute path. PR c++/119756 libcpp/ChangeLog: * files.cc (search_path_head): Also treat empty string (stdin) as an absolute path. Signed-off-by: Nathaniel Shead <[email protected]> Reviewed-by: Jason Merrill <[email protected]> (cherry picked from commit 81b437bad0925ddaae6a75a72759edb18cc4f438) Diff: --- libcpp/files.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcpp/files.cc b/libcpp/files.cc index d80c4bfd9077..615ddba55cec 100644 --- a/libcpp/files.cc +++ b/libcpp/files.cc @@ -1092,7 +1092,7 @@ search_path_head (cpp_reader *pfile, const char *fname, int angle_brackets, cpp_dir *dir; _cpp_file *file; - if (IS_ABSOLUTE_PATH (fname)) + if (IS_ABSOLUTE_PATH (fname) || *fname == '\0') return &pfile->no_search_path; /* pfile->buffer is NULL when processing an -include command-line flag. */
