summaryrefslogtreecommitdiff
path: root/contrib/gcc/cp/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/cp/tree.c')
-rw-r--r--contrib/gcc/cp/tree.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/contrib/gcc/cp/tree.c b/contrib/gcc/cp/tree.c
index 748ab9a0b9ad5..65dca00360669 100644
--- a/contrib/gcc/cp/tree.c
+++ b/contrib/gcc/cp/tree.c
@@ -1903,19 +1903,19 @@ pod_type_p (t)
int
zero_init_p (t)
- tree t;
+ tree t ATTRIBUTE_UNUSED;
{
- t = strip_array_types (t);
-
- /* NULL pointers to data members are initialized with -1. */
- if (TYPE_PTRMEM_P (t))
- return 0;
+ /* This is not a correct implementation of this function. As a
+ result, pointers-to-members will not be correctly
+ zero-initialized.
- /* Classes that contain types that can't be zero-initialized, cannot
- be zero-initialized themselves. */
- if (CLASS_TYPE_P (t) && CLASSTYPE_NON_ZERO_INIT_P (t))
- return 0;
+ However, using a correct implementation of this function results
+ in many other failures. Correcting these other failures required
+ a major infrastructure improvement, which was undertaken in the
+ GCC 3.3 source base.
+ In order to reduce risk, these changes were not ported to the GCC
+ 3.2 source base. */
return 1;
}