aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-08-26 13:42:03 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-08-26 11:42:03 +0000
commit0f9aaac79ed0b5348ea80cd325a04406bbf4ca7d (patch)
treee9f1a76e7f06dbff4df1301317efffbb2ccbbfac /gcc/cp/cp-tree.h
parent4b37444e7193b7df8ab9c00532598dff98bff49d (diff)
downloadgcc-0f9aaac79ed0b5348ea80cd325a04406bbf4ca7d.zip
gcc-0f9aaac79ed0b5348ea80cd325a04406bbf4ca7d.tar.gz
gcc-0f9aaac79ed0b5348ea80cd325a04406bbf4ca7d.tar.bz2
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
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h10
1 files changed, 6 insertions, 4 deletions
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,