We will use this in the subsequent patch to control what filenames we search for.
gcc/ChangeLog: * gcc.cc (for_each_path): Pass an additional boolean argument to the callback specifying whether the current directly being searched is machine-specific, as described above. (build_search_list): Add unused parameter to lambda match new callback type. (find_a_file): Add unused parameter to lambda match new callback type. (find_a_program): Add unused parameter to lambda match new callback type. (spec_path::operator()): Add unused parameter to match new callback type. Signed-off-by: John Ericson <g...@johnericson.me> --- gcc/gcc.cc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gcc/gcc.cc b/gcc/gcc.cc index 3f27c35708b..ebdbb0d2d78 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -2788,7 +2788,7 @@ for_each_path (const struct path_prefix *paths, const char *multi_suffix; const char *just_multi_suffix; char *path = NULL; - decltype (callback (nullptr)) ret; + decltype (callback (nullptr, false)) ret; bool skip_multi_dir = false; bool skip_multi_os_dir = false; @@ -2839,7 +2839,7 @@ for_each_path (const struct path_prefix *paths, if (!skip_multi_dir) { memcpy (path + len, multi_suffix, suffix_len + 1); - ret = callback (path); + ret = callback (path, true); if (ret) break; } @@ -2850,7 +2850,7 @@ for_each_path (const struct path_prefix *paths, && pl->require_machine_suffix == 2) { memcpy (path + len, just_multi_suffix, just_suffix_len + 1); - ret = callback (path); + ret = callback (path, true); if (ret) break; } @@ -2860,7 +2860,7 @@ for_each_path (const struct path_prefix *paths, && !pl->require_machine_suffix && multiarch_dir) { memcpy (path + len, multiarch_suffix, multiarch_len + 1); - ret = callback (path); + ret = callback (path, true); if (ret) break; } @@ -2888,7 +2888,7 @@ for_each_path (const struct path_prefix *paths, else path[len] = '\0'; - ret = callback (path); + ret = callback (path, false); if (ret) break; } @@ -2961,7 +2961,7 @@ build_search_list (const struct path_prefix *paths, const char *prefix, obstack_1grow (&collect_obstack, '='); /* Callback adds path to obstack being built. */ - for_each_path (paths, do_multi, 0, [&](char *path) -> void* + for_each_path (paths, do_multi, 0, [&](char *path, bool) -> void* { if (check_dir && !is_directory (path)) return NULL; @@ -3035,7 +3035,7 @@ find_a_file (const struct path_prefix *pprefix, const char *name, to the file. */ return for_each_path (pprefix, do_multi, name_len, - [=](char *path) -> char* + [=](char *path, bool) -> char* { memcpy (path + strlen (path), name, name_len + 1); @@ -3088,7 +3088,7 @@ find_a_program (const char *name) to the file. */ return for_each_path (&exec_prefixes, false, name_len + suffix_len, - [=](char *path) -> char* + [=](char *path, bool) -> char* { size_t len = strlen (path); @@ -6011,11 +6011,11 @@ struct spec_path { bool separate_options; bool realpaths; - void *operator() (char *path); + void *operator() (char *path, bool); }; void * -spec_path::operator() (char *path) +spec_path::operator() (char *path, bool) { size_t len = 0; char save = 0; -- 2.49.0