Fix bug in `darwin_test_archs()` when the cache variable is set but empty.

Summary:
If the cache variable named in `${valid_archs}` (e.g. `DARWIN_osx_BUILTIN_ARCHS`)
is set in the cache but is empty then the cache check
`if(${valid_archs})` will be false so the function will probe the
compiler but the `set(...)` command at the end of the function to update
the cache variable will be a no-op. This is because `set(...)` will not
update an existing cache variable unless the `FORCE` argument is
provided.

To fix this this patch adds `FORCE` so the cache is always updated.

rdar://problem/55323665

Reviewers: vsk, kubamracek

Subscribers: mgorny, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D67530

llvm-svn: 371872
This commit is contained in:
Dan Liew 2019-09-13 17:31:24 +00:00
parent ef163f5a20
commit 713da8db39
1 changed files with 1 additions and 1 deletions

View File

@ -113,7 +113,7 @@ function(darwin_test_archs os valid_archs)
endif()
endforeach()
set(${valid_archs} ${working_archs}
CACHE STRING "List of valid architectures for platform ${os}.")
CACHE STRING "List of valid architectures for platform ${os}." FORCE)
endfunction()
# This function checks the host cpusubtype to see if it is post-haswell. Haswell