diff options
Diffstat (limited to 'contrib/gcc/cp/tree.c')
-rw-r--r-- | contrib/gcc/cp/tree.c | 20 |
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; } |