From 243e649dcbb2262f2ed6116b14a78bfa82900bd2 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sun, 3 Apr 2022 14:40:34 +0200 Subject: [PATCH] d: Remove Wtemplates warnings from the code generation pass These have been superceded by the front-end's own internal tracking of instantiations, exposed by `-ftransition=templates'. gcc/d/ChangeLog: * d-lang.cc: Include dmd/template.h. (d_parse_file): Call printTemplateStats when vtemplates is set. * decl.cc (start_function): Remove OPT_Wtemplates warning. * lang.opt (Wtemplates): Remove. --- gcc/d/d-lang.cc | 4 ++++ gcc/d/decl.cc | 11 +---------- gcc/d/lang.opt | 4 ---- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/gcc/d/d-lang.cc b/gcc/d/d-lang.cc index 4a7aa89..6957162 100644 --- a/gcc/d/d-lang.cc +++ b/gcc/d/d-lang.cc @@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see #include "dmd/module.h" #include "dmd/mtype.h" #include "dmd/target.h" +#include "dmd/template.h" #include "opts.h" #include "alias.h" @@ -1306,6 +1307,9 @@ d_parse_file (void) } } + if (global.params.vtemplates) + printTemplateStats (); + /* Generate JSON files. */ if (global.params.doJsonGeneration) { diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc index ea8baef..86ea176 100644 --- a/gcc/d/decl.cc +++ b/gcc/d/decl.cc @@ -1891,16 +1891,7 @@ start_function (FuncDeclaration *fd) modules not in this compilation, or thunk aliases. */ TemplateInstance *ti = fd->isInstantiated (); if (ti && ti->needsCodegen ()) - { - /* Warn about templates instantiated in this compilation. */ - if (ti == fd->parent) - { - warning (OPT_Wtemplates, "%s %qs instantiated", - ti->kind (), ti->toPrettyChars (false)); - } - - DECL_EXTERNAL (fndecl) = 0; - } + DECL_EXTERNAL (fndecl) = 0; else { Module *md = fd->getModule (); diff --git a/gcc/d/lang.opt b/gcc/d/lang.opt index 7859e15..51e8e5c 100644 --- a/gcc/d/lang.opt +++ b/gcc/d/lang.opt @@ -138,10 +138,6 @@ Wspeculative D Warn from speculative compiles such as __traits(compiles). -Wtemplates -D -; Documented in C - Wunknown-pragmas D Var(warn_unknown_pragmas) LangEnabledBy(D, Wextra) ; Documented in C -- 2.7.4