d: Do not implicitly set DECL_DECLARED_INLINE_P on member functions.

This has been questionable behaviour since it was added, and though it
has no effect on wider discussions around what should be the correct
semantics of pragma(inline) within D modules, doing this tree-level
optimization has mostly zero benefit as cross-module inlining doesn't
happen anyway.

gcc/d/ChangeLog:

	* decl.cc (get_symbol_decl): Do not implicitly set
	DECL_DECLARED_INLINE_P on member functions.
This commit is contained in:
Iain Buclaw 2020-06-25 09:33:26 +02:00
parent bbd6a326f4
commit 27a6802011

View file

@ -1250,13 +1250,6 @@ get_symbol_decl (Declaration *decl)
}
/* Miscellaneous function flags. */
if (fd->isMember2 () || fd->isFuncLiteralDeclaration ())
{
/* See grokmethod in cp/decl.c. Maybe we shouldn't be setting inline
flags without reason or proper handling. */
DECL_DECLARED_INLINE_P (decl->csym) = 1;
DECL_NO_INLINE_WARNING_P (decl->csym) = 1;
}
/* In [pragma/inline], functions decorated with `pragma(inline)' affects
whether they are inlined or not. */