Fix bug in `darwin_test_archs()` when the cache variable is set but empty.
authorDan Liew <dan@su-root.co.uk>
Fri, 13 Sep 2019 17:31:24 +0000 (17:31 +0000)
committerDan Liew <dan@su-root.co.uk>
Fri, 13 Sep 2019 17:31:24 +0000 (17:31 +0000)
commit713da8db39bb4cd1f9a1a5e67b255f6156e8929d
treec2e32215577995872cd892fecf2537d7d968a74f
parentef163f5a20dcd1f79f66ae2a71d425345e5453ac
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
compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake