From 0f9aaac79ed0b5348ea80cd325a04406bbf4ca7d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 26 Aug 2013 13:42:03 +0200 Subject: tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor. * tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor. (DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P): New macros. * cp-tree.h (DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P): Use middle-end flag. From-SVN: r201994 --- gcc/cp/cp-tree.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gcc/cp/cp-tree.h') diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 248c645..61fdf43 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -2121,9 +2121,10 @@ struct GTY((variable_size)) lang_decl { #define SET_DECL_LANGUAGE(NODE, LANGUAGE) \ (DECL_LANG_SPECIFIC (NODE)->u.base.language = (LANGUAGE)) -/* For FUNCTION_DECLs: nonzero means that this function is a constructor. */ +/* For FUNCTION_DECLs and TEMPLATE_DECLs: nonzero means that this function + is a constructor. */ #define DECL_CONSTRUCTOR_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->constructor_attr) + DECL_CXX_CONSTRUCTOR_P (STRIP_TEMPLATE (NODE)) /* Nonzero if NODE (a FUNCTION_DECL) is a constructor for a complete object. */ @@ -2152,9 +2153,10 @@ struct GTY((variable_size)) lang_decl { #define DECL_MOVE_CONSTRUCTOR_P(NODE) \ (DECL_CONSTRUCTOR_P (NODE) && move_fn_p (NODE)) -/* Nonzero if NODE is a destructor. */ +/* Nonzero if NODE (a FUNCTION_DECL or TEMPLATE_DECL) + is a destructor. */ #define DECL_DESTRUCTOR_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->destructor_attr) + DECL_CXX_DESTRUCTOR_P (STRIP_TEMPLATE (NODE)) /* Nonzero if NODE (a FUNCTION_DECL) is a destructor, but not the specialized in-charge constructor, in-charge deleting constructor, -- cgit v1.1