Hi, The D front-end does not use exceptions, but it still requires RTTI for some lowerings of convenience language features. This patch enforces that by now building GDC with `-fno-exceptions'.
Bootstrapped with gcc-9, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * Make-lang.in (NOEXCEPTION_DFLAGS): Define. (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS. --- gcc/d/Make-lang.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/d/Make-lang.in b/gcc/d/Make-lang.in index 9f134370218..6f9b2e5c26a 100644 --- a/gcc/d/Make-lang.in +++ b/gcc/d/Make-lang.in @@ -57,8 +57,12 @@ CHECKING_DFLAGS = endif WARN_DFLAGS = -Wall -Wdeprecated $(NOCOMMON_FLAG) +# D front-end doesn't use exceptions, but it does require RTTI. +NOEXCEPTION_DFLAGS = $(filter-out -fno-rtti, $(NOEXCEPTION_FLAGS)) + ALL_DFLAGS = $(DFLAGS-$@) $(GDCFLAGS) -fversion=IN_GCC $(CHECKING_DFLAGS) \ - $(PICFLAG) $(ALIASING_FLAGS) $(COVERAGE_FLAGS) $(WARN_DFLAGS) + $(PICFLAG) $(ALIASING_FLAGS) $(NOEXCEPTION_DFLAGS) $(COVERAGE_FLAGS) \ + $(WARN_DFLAGS) DCOMPILE.base = $(GDC) $(NO_PIE_CFLAGS) -c $(ALL_DFLAGS) -o $@ DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo -- 2.34.1