[PATCH] D13289: [libc++] Provide additional templates for valarray transcendentals that satisfy the standard synopsis

Petr Pavlu via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 11 00:46:18 PST 2015


petpav01 updated this revision to Diff 42506.
petpav01 added a comment.

Updated patch adds more tests and fixes a problem introduced in the previous revision where templates taking `__val_expr` were not correctly protected by SFINAE from immediate context (it introduced same problem with explicit template parameters that I am trying to solve).

@Eric: Could you please send me an example that shows the problem with the ranking in overload resolution so I can add a test for it too? I would like to understand this case because if it is not needed then a number of `atan2()` and `pow()` templates can be reduced (to the same amount as in the original patch).


http://reviews.llvm.org/D13289

Files:
  include/valarray
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/abs_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/acos_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/asin_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_value.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_value_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cos_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cosh_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/exp_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log10_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_value.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_value_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sin_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sinh_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sqrt_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tan_valarray.pass.cpp
  test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tanh_valarray.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13289.42506.patch
Type: text/x-patch
Size: 53969 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151211/6d665db3/attachment-0001.bin>


More information about the cfe-commits mailing list