Certain C libraries require configuration macros defined in config
to provide the correct functionality for libc++. This patch ensures
that the C header math.h is always included after the config
header. It also adds a Windows-specific #if guard for the case when
the C math.h file is included the second time, as suggested by
Marshall in https://reviews.llvm.org/rL323490.
Fixes PR36382.
Nit: you don't actually need the && defined(_USE_MATH_DEFINES) part.