diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d431ffee9f4..676a2113753 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2001-01-10 Mark Mitchell + + * cp-tree.h (DECL_CLONED_FUNCTION_P): Avoid wild reads by not + looking at DECL_CLONED_FUNCTION for non-functions. + 2001-01-10 Nathan Sidwell * error.c (dump_template_parameter): Use parm to determine how diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index d0784e89ca6..5c806ce9aa9 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1959,7 +1959,9 @@ struct lang_decl /* Nonzero if NODE (a FUNCTION_DECL) is a cloned constructor or destructor. */ #define DECL_CLONED_FUNCTION_P(NODE) \ - (DECL_LANG_SPECIFIC (NODE) \ + ((TREE_CODE (NODE) == FUNCTION_DECL \ + || TREE_CODE (NODE) == TEMPLATE_DECL) \ + && DECL_LANG_SPECIFIC (NODE) \ && DECL_CLONED_FUNCTION (NODE) != NULL_TREE) /* If DECL_CLONED_FUNCTION_P holds, this is the function that was