Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1026206: g++-13: fails to compile #include <stdio.h> due to __float128 vs fixincludes

142 views
Skip to first unread message

Helmut Grohne

unread,
Dec 16, 2022, 5:10:04 AM12/16/22
to
Package: g++-13
Version: 13-20221214-1
Severity: serious

Hi Matthias,

thanks for pushing gcc-13 into experimental already. That leaves plenty
of time to work on it. I've located a quite fundamental problem with it
already:

$ cat test.c++
#include <stdio.h>
$ g++-13 -c test.c++
In file included from /usr/include/stdio.h:430,
from test.c++:1:
/usr/include/x86_64-linux-gnu/bits/floatn.h:87:9: error: multiple types in one declaration
87 | typedef __float128 _Float128;
| ^~~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn.h:87:20: error: declaration does not declare anything [-fpermissive]
87 | typedef __float128 _Float128;
| ^~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/floatn.h:120:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:214:9: error: multiple types in one declaration
214 | typedef float _Float32;
| ^~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:214:15: error: declaration does not declare anything [-fpermissive]
214 | typedef float _Float32;
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:251:9: error: multiple types in one declaration
251 | typedef double _Float64;
| ^~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:251:16: error: declaration does not declare anything [-fpermissive]
251 | typedef double _Float64;
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:268:9: error: multiple types in one declaration
268 | typedef double _Float32x;
| ^~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:268:16: error: declaration does not declare anything [-fpermissive]
268 | typedef double _Float32x;
| ^~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:285:14: error: multiple types in one declaration
285 | typedef long double _Float64x;
| ^~~~~~
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:285:21: error: declaration does not declare anything [-fpermissive]
285 | typedef long double _Float64x;
| ^~~~~~~~~
$

Jakub Jelinek kindly pointed out that bits/floatn.h and
bits/floatn-common.h should be fixincluded. I can see that this is
happening in a build log and that those fixed includes are not contained
in any binary package. As such, this is not considered an upstream
problem. I see that the packaging deletes include-fixed and fail to
understand why that happens at this time. Do you have a better
understanding?

Helmut

YunQiang Su

unread,
Jan 5, 2023, 10:40:04 PM1/5/23
to
I try to build a cross toolchain, it has this problem, too.
So, should it be an upstream bug? I guess.

Gcc git master has this problem, while branch gcc-12 doesn’t.

>
> Helmut
>
>
>
0 new messages