cmath: account for MSVCRT 12.0 changes
authorSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 28 Feb 2015 20:18:39 +0000 (20:18 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 28 Feb 2015 20:18:39 +0000 (20:18 +0000)
commit66d4c6e78cef2aad52b7a0344a5afc073c638ca9
tree2f8cce3c3e82415f13020f5b4cad2285a0206cad
parent4b7dd64d829b5745590c0cb1bafe92ea66eec661
cmath: account for MSVCRT 12.0 changes

MSVCRT 12.0 introduces better compatibility for C99. This includes a number of
math routines that were previously undefined. Use the crtversion.h header to
detect the version of MSVCRT being targeted and avoid re-declaring the
variables.

Since copysign has been introduced in MSVCRT, importing the definition via using
makes it difficult to provide overloads (due to minor differences between
throw () and noexcept. Avoid defining the overloads on newer MSVCRT
targets.

llvm-svn: 230867
libcxx/include/cmath
libcxx/include/support/win32/math_win32.h