https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87788
Bug ID: 87788
Summary: [9 Regression] Bootstrap fails for
x86_64-apple-darwin* with default languages selection
after D addition.
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: iains at gcc dot gnu.org
Target Milestone: ---
bootstrap fails at stage #2 with:
../../src/gcc/d/dmd/constfold.c: In function 'UnionExp Cast(Loc, Type*, Type*,
Expression*)':
../../src/gcc/d/dmd/constfold.c:1162:50: error: conversion from 'real_t' {aka
'longdouble'} to 'sinteger_t' {aka 'long int'} is ambiguous
1162 | result = (d_int8)(sinteger_t)r;
| ^
In file included from ../../src/gcc/d/dmd/root/ctfloat.h:11,
from ../../src/gcc/d/dmd/globals.h:14,
from ../../src/gcc/d/dmd/errors.h:13,
from ../../src/gcc/d/dmd/constfold.c:22:
../../src/gcc/d/longdouble.h:54:3: note: candidate: 'longdouble::operator
int32_t()'
54 | operator int32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:57:3: note: candidate: 'longdouble::operator
int64_t()'
57 | operator int64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:60:3: note: candidate: 'longdouble::operator
uint32_t()'
60 | operator uint32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:63:3: note: candidate: 'longdouble::operator
uint64_t()'
63 | operator uint64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:66:3: note: candidate: 'longdouble::operator
bool()'
66 | operator bool (void)
| ^~~~~~~~
../../src/gcc/d/dmd/constfold.c:1166:50: error: conversion from 'real_t' {aka
'longdouble'} to 'dinteger_t' {aka 'long unsigned int'} is ambiguous
1166 | result = (d_uns8)(dinteger_t)r;
| ^
In file included from ../../src/gcc/d/dmd/root/ctfloat.h:11,
from ../../src/gcc/d/dmd/globals.h:14,
from ../../src/gcc/d/dmd/errors.h:13,
from ../../src/gcc/d/dmd/constfold.c:22:
../../src/gcc/d/longdouble.h:54:3: note: candidate: 'longdouble::operator
int32_t()'
54 | operator int32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:57:3: note: candidate: 'longdouble::operator
int64_t()'
57 | operator int64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:60:3: note: candidate: 'longdouble::operator
uint32_t()'
60 | operator uint32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:63:3: note: candidate: 'longdouble::operator
uint64_t()'
63 | operator uint64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:66:3: note: candidate: 'longdouble::operator
bool()'
66 | operator bool (void)
| ^~~~~~~~
../../src/gcc/d/dmd/constfold.c:1169:51: error: conversion from 'real_t' {aka
'longdouble'} to 'sinteger_t' {aka 'long int'} is ambiguous
1169 | result = (d_int16)(sinteger_t)r;
| ^
In file included from ../../src/gcc/d/dmd/root/ctfloat.h:11,
from ../../src/gcc/d/dmd/globals.h:14,
from ../../src/gcc/d/dmd/errors.h:13,
from ../../src/gcc/d/dmd/constfold.c:22:
../../src/gcc/d/longdouble.h:54:3: note: candidate: 'longdouble::operator
int32_t()'
54 | operator int32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:57:3: note: candidate: 'longdouble::operator
int64_t()'
57 | operator int64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:60:3: note: candidate: 'longdouble::operator
uint32_t()'
60 | operator uint32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:63:3: note: candidate: 'longdouble::operator
uint64_t()'
63 | operator uint64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:66:3: note: candidate: 'longdouble::operator
bool()'
66 | operator bool (void)
| ^~~~~~~~
../../src/gcc/d/dmd/constfold.c:1173:51: error: conversion from 'real_t' {aka
'longdouble'} to 'dinteger_t' {aka 'long unsigned int'} is ambiguous
1173 | result = (d_uns16)(dinteger_t)r;
| ^
In file included from ../../src/gcc/d/dmd/root/ctfloat.h:11,
from ../../src/gcc/d/dmd/globals.h:14,
from ../../src/gcc/d/dmd/errors.h:13,
from ../../src/gcc/d/dmd/constfold.c:22:
../../src/gcc/d/longdouble.h:54:3: note: candidate: 'longdouble::operator
int32_t()'
54 | operator int32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:57:3: note: candidate: 'longdouble::operator
int64_t()'
57 | operator int64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:60:3: note: candidate: 'longdouble::operator
uint32_t()'
60 | operator uint32_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:63:3: note: candidate: 'longdouble::operator
uint64_t()'
63 | operator uint64_t (void)
| ^~~~~~~~
../../src/gcc/d/longdouble.h:66:3: note: candidate: 'longdouble::operator
bool()'
66 | operator bool (void)
| ^~~~~~~~
make[3]: *** [d/constfold.o] Error 1
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2