From 7cc9cfd2ca8c526661da7f040e80cbd2bc597645 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Wed, 21 Aug 2019 07:53:44 +0000 Subject: [PATCH] d: Partially fix ICE: in register_moduleinfo, at d/modules.cc:40 gcc/d/ChangeLog: PR d/88722 * modules.cc: Include diagnostic.h. (register_moduleinfo): Use sorry instead of gcc_assert for targets without named sections. From-SVN: r274769 --- gcc/d/ChangeLog | 7 +++++++ gcc/d/modules.cc | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 011b0d44fa0..a7821c28d46 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,10 @@ +2019-08-20 Iain Buclaw + + PR d/88722 + * modules.cc: Include diagnostic.h. + (register_moduleinfo): Use sorry instead of gcc_assert for targets + without named sections. + 2019-08-20 Iain Buclaw * d-target.cc: Include diagnostic.h. diff --git a/gcc/d/modules.cc b/gcc/d/modules.cc index 88cc5e89e9a..a25e06ae1cd 100644 --- a/gcc/d/modules.cc +++ b/gcc/d/modules.cc @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "dmd/module.h" #include "tree.h" +#include "diagnostic.h" #include "fold-const.h" #include "tm.h" #include "function.h" @@ -404,7 +405,8 @@ build_dso_registry_var (const char * name, tree type) static void register_moduleinfo (Module *decl, tree minfo) { - gcc_assert (targetm_common.have_named_sections); + if (!targetm_common.have_named_sections) + sorry ("%<-fmoduleinfo%> is not supported on this target"); /* Build the ModuleInfo reference, this is done once for every Module. */ tree ident = mangle_internal_decl (decl, "__moduleRef", "Z"); -- 2.30.2