[flang] Avoid dependency of runtime library on pthread for MinGW
When building the Fortran runtime on MinGW, `clock_gettime` is currently used. That function is provided by the `pthread` library on that platform. That means that all programs that link `libFortranRuntime` also require to be linked with `pthread` on that platform. There is already a code path (for MSVC) that doesn't use `clock_gettime` in the implementation of the Fortran library. Use the same code path also on MinGW by undefining `CLOCKID`. Reviewed By: vzakhari Differential Revision: https://reviews.llvm.org/D149051
This commit is contained in:
committed by
Slava Zakharin
parent
71f862b7bb
commit
3299647699
@@ -56,7 +56,12 @@ template <typename Unused = void> double GetCpuTime(fallback_implementation) {
|
||||
return -1.0;
|
||||
}
|
||||
|
||||
#if defined CLOCK_PROCESS_CPUTIME_ID
|
||||
#if defined __MINGW32__
|
||||
// clock_gettime is implemented in the pthread library for MinGW.
|
||||
// Using it here would mean that all programs that link libFortranRuntime are
|
||||
// required to also link to pthread. Instead, don't use the function.
|
||||
#undef CLOCKID
|
||||
#elif defined CLOCK_PROCESS_CPUTIME_ID
|
||||
#define CLOCKID CLOCK_PROCESS_CPUTIME_ID
|
||||
#elif defined CLOCK_THREAD_CPUTIME_ID
|
||||
#define CLOCKID CLOCK_THREAD_CPUTIME_ID
|
||||
|
||||
Reference in New Issue
Block a user