This is an archive of the discontinued LLVM Phabricator instance.

cmath: account for MSVCRT 12.0 changes
ClosedPublic

Authored by abdulras on Feb 4 2015, 2:33 PM.

Details

Reviewers
mclow.lists
Summary

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.

Diff Detail

Repository
rL LLVM

Event Timeline

abdulras updated this revision to Diff 19349.Feb 4 2015, 2:33 PM
abdulras retitled this revision from to cmath: account for MSVCRT 12.0 changes.
abdulras updated this object.
abdulras edited the test plan for this revision. (Show Details)
abdulras added a reviewer: mclow.lists.
abdulras set the repository for this revision to rL LLVM.
abdulras added subscribers: compnerd, Unknown Object (MLST).
mclow.lists accepted this revision.Feb 17 2015, 9:02 AM
mclow.lists edited edge metadata.

This looks OK to me.

This revision is now accepted and ready to land.Feb 17 2015, 9:02 AM
abdulras closed this revision.Mar 9 2015, 10:16 AM

SVN r230867.