mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
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 <nathanieloshead@gmail.com> Reviewed-by: Jason Merrill <jason@redhat.com>
This commit is contained in:
@@ -1095,7 +1095,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. */
|
||||
|
||||
Reference in New Issue
Block a user