bool need_indent = true;
- if (TREE_CODE (node) == FUNCTION_DECL
- || TREE_CODE (node) == VAR_DECL
- || TREE_CODE (node) == TYPE_DECL
- || TREE_CODE (node) == TEMPLATE_DECL
- || TREE_CODE (node) == CONCEPT_DECL
- || TREE_CODE (node) == NAMESPACE_DECL)
+ tree ntnode = STRIP_TEMPLATE (node);
+ if (TREE_CODE (ntnode) == FUNCTION_DECL
+ || TREE_CODE (ntnode) == VAR_DECL
+ || TREE_CODE (ntnode) == TYPE_DECL
+ || TREE_CODE (ntnode) == CONCEPT_DECL
+ || TREE_CODE (ntnode) == NAMESPACE_DECL)
{
unsigned m = 0;
- if (DECL_LANG_SPECIFIC (node) && DECL_MODULE_IMPORT_P (node))
- m = get_importing_module (node, true);
+ if (DECL_LANG_SPECIFIC (ntnode) && DECL_MODULE_IMPORT_P (ntnode))
+ m = get_importing_module (ntnode, true);
if (const char *name = m == ~0u ? "" : module_name (m, true))
{
need_indent = false;
}
- if (DECL_LANG_SPECIFIC (node) && DECL_MODULE_PURVIEW_P (node))
+ if (DECL_LANG_SPECIFIC (ntnode) && DECL_MODULE_PURVIEW_P (ntnode))
{
if (need_indent)
indent_to (file, indent + 3);