[LLVMbugs] [Bug 22486] New: std::pow<double, double> fails compilation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Feb 5 17:40:35 PST 2015


            Bug ID: 22486
           Summary: std::pow<double, double> fails compilation
           Product: libc++
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: eugeni.stepanov at gmail.com
                CC: llvmbugs at cs.uiuc.edu, mclow.lists at gmail.com
    Classification: Unclassified

#include <cmath>
auto x = std::pow<double, double>;

The above fails with:

In file included from ../8.cc:1:
/code/llvm/build/bin/../include/c++/v1/cmath:964:5: error: static_assert failed
    static_assert((!(is_same<_A1, __result_type>::value &&
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../8.cc:3:15: note: in instantiation of function template specialization
'std::__1::pow<double, double>' requested here
auto x = std::pow<double, double>;

Basically, it is saying that at least one of the argument types must be
different from the result type. Is it correct?

    typedef typename __promote<_A1, _A2>::type __result_type;
    static_assert((!(is_same<_A1, __result_type>::value &&
                      is_same<_A2, __result_type>::value)), "")

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150206/01495fd7/attachment.html>

More information about the llvm-bugs mailing list