diff options
author | Weslley da Silva Pereira <weslley.spereira@gmail.com> | 2025-08-26 13:23:11 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2025-08-28 14:00:48 +0100 |
commit | 33cb72fafe25c5688ae26b4a4491f4486edf75d0 (patch) | |
tree | c36fca862e500cdb3a856fdafef7ba92c78665e2 /libjava/classpath | |
parent | bbc0e70b610f19320339e4a311591b42bd436e9b (diff) | |
download | gcc-33cb72fafe25c5688ae26b4a4491f4486edf75d0.zip gcc-33cb72fafe25c5688ae26b4a4491f4486edf75d0.tar.gz gcc-33cb72fafe25c5688ae26b4a4491f4486edf75d0.tar.bz2 |
libstdc++: Remove implicit type conversions in std::complex
The current implementation of `complex<_Tp>` assumes that int
`int` is implicitly convertible to `_Tp`, e.g., when using
`complex<_Tp>(1)`.
This patch transforms the implicit conversions into explicit type casts.
As a result, `std::complex` is now able to support more types. One
example is the type `Eigen::Half` from
https://eigen.tuxfamily.org/dox-devel/Half_8h_source.html which does not
implement implicit type conversions.
libstdc++-v3/ChangeLog:
* include/std/complex (polar, __complex_sqrt, pow)
(__complex_pow_unsigned): Use explicit conversions from int to
the complex value_type.
Diffstat (limited to 'libjava/classpath')
0 files changed, 0 insertions, 0 deletions