[gcc r13-1542] d: Build the D sources in the front-end with -fno-exceptions

Iain Buclaw ibuclaw@gcc.gnu.org
Wed Jul 6 18:53:09 GMT 2022


https://gcc.gnu.org/g:c785204735b2cace9a676969de0967105a06438d

commit r13-1542-gc785204735b2cace9a676969de0967105a06438d
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Fri Jul 1 17:40:18 2022 +0200

    d: Build the D sources in the front-end with -fno-exceptions
    
    The D front-end does not use exceptions, but it still requires RTTI for
    some lowerings of convenience language features.  Enforce it with by
    building with `-fno-exceptions'.
    
    gcc/d/ChangeLog:
    
            * Make-lang.in (NOEXCEPTION_DFLAGS): Define.
            (ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS.

Diff:
---
 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


More information about the Gcc-cvs mailing list