summaryrefslogtreecommitdiffstats
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-10 00:03:23 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-10 00:03:23 +0000
commita57df396bd4b901a12316397d21fb928f27eee84 (patch)
treedfa4dbe4fedcfc227486b3bcbf1eba6c29b00bd6 /gcc/cp/cp-tree.h
parent118da0ffd17cb59f7c099d84763631f60917444d (diff)
downloadppe42-gcc-a57df396bd4b901a12316397d21fb928f27eee84.tar.gz
ppe42-gcc-a57df396bd4b901a12316397d21fb928f27eee84.zip
DR 1402
PR c++/53733 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New. (struct lang_decl_fn): Add suppress_implicit_decl field. * method.c (implicitly_declare_fn): Check it. (process_subob_fn): Add no_implicit_p parm. (walk_field_subobs, synthesized_method_walk): Likewise. (maybe_explain_implicit_delete): Adjust. (explain_implicit_non_constexpr): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189396 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 713001e121f..10efa2a663a 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -1940,7 +1940,7 @@ struct GTY(()) lang_decl_fn {
unsigned thunk_p : 1;
unsigned this_thunk_p : 1;
unsigned hidden_friend_p : 1;
- /* 1 spare bit. */
+ unsigned suppress_implicit_decl : 1;
/* For a non-thunk function decl, this is a tree list of
friendly classes. For a thunk function decl, it is the
@@ -3107,6 +3107,12 @@ more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter)
#define DECL_HIDDEN_FRIEND_P(NODE) \
(LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->hidden_friend_p)
+/* Nonzero if NODE is a FUNCTION_DECL generated by implicitly_declare_fn
+ that we shouldn't actually declare implicitly; it is only used for
+ comparing to an =default declaration. */
+#define FNDECL_SUPPRESS_IMPLICIT_DECL(NODE) \
+ (LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->suppress_implicit_decl)
+
/* Nonzero if DECL has been declared threadprivate by
#pragma omp threadprivate. */
#define CP_DECL_THREADPRIVATE_P(DECL) \
OpenPOWER on IntegriCloud