This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Fixes libc++ bug #19921 - Remove additional overloads for std::complex
AbandonedPublic

Authored by EricWF on Jul 9 2014, 6:48 PM.

Details

Reviewers
mclow.lists
Summary

http://llvm.org/bugs/show_bug.cgi?id=19921

This patch affects std::complexes additional overloads for arg, conj, imag, norm, proj and real.

For overloads now only participate in overload resolution if they are called with an arithmetic type.
Previously they could be called with types that were convertible to arithmetic types.

The arg and proj functions had to be had to be treated differently than the test of the overloads since the body of their function needs to differ depending on what type was passed it.

Diff Detail

Event Timeline

EricWF updated this revision to Diff 11236.Jul 9 2014, 6:48 PM
EricWF retitled this revision from to [libcxx] Fixes libc++ bug #19921 - Remove additional overloads for std::complex.
EricWF updated this object.
EricWF edited the test plan for this revision. (Show Details)
EricWF added a reviewer: mclow.lists.
EricWF set the repository for this revision to rL LLVM.
EricWF added a subscriber: Unknown Object (MLST).

Ping @mclow.lists. This is one of the first patches I submitted but I abandoned it due to ABI concerns. However I now believe that this patch does not break the ABI.

EricWF abandoned this revision.Jul 19 2016, 5:22 PM

Fixed in r276067.