https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113770
Bug ID: 113770
Summary: _Float64x support on g++ 13.2.0
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kashi at waseda dot jp
Target Milestone: ---
I have noticed that the following simple program will not complie
with g++ 13.2.0 on ubuntu 23.04 .
#include <iostream>
int main()
{
_Float64x a;
std::cin >> a;
}
It compiles fine with long double and __float80.
Also no problem with clang++ 16.0.6.
I also noticed that with _Float64x, the numeric_limits<_Float64x> return 0,
as shown below.
#include <iostream>
#include <limits>
int main()
{
std::cout << std::numeric_limits<_Float64x>::epsilon() << std::endl;
std::cout << std::numeric_limits<_Float64x>::max() << std::endl;
std::cout << std::numeric_limits<_Float64x>::min() << std::endl;
std::cout << std::numeric_limits<_Float64x>::infinity() << std::endl;
}
This program returns 0:
0
0
0
0
With long double and __float80, the program returns correct values:
1.0842e-19
1.18973e+4932
3.3621e-4932
inf
It seems to me that g++ 13 cannot handle _Float64 correctly.
Is there any way to deal with this?