aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/gcc/cp/method.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.6/gcc/cp/method.c')
-rw-r--r--gcc-4.6/gcc/cp/method.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc-4.6/gcc/cp/method.c b/gcc-4.6/gcc/cp/method.c
index a693222..f7198d5 100644
--- a/gcc-4.6/gcc/cp/method.c
+++ b/gcc-4.6/gcc/cp/method.c
@@ -360,6 +360,8 @@ use_thunk (tree thunk_fndecl, bool emit_p)
/* Output the thunk into the same section as function. */
DECL_SECTION_NAME (thunk_fndecl) = DECL_SECTION_NAME (function);
+ if (DECL_COMDAT_GROUP (function))
+ make_decl_one_only (thunk_fndecl, DECL_COMDAT_GROUP (function));
}
}
@@ -1007,8 +1009,7 @@ walk_field_subobs (tree fields, tree fnname, special_function_kind sfk,
{
bool bad = true;
if (CP_TYPE_CONST_P (mem_type)
- && (!CLASS_TYPE_P (mem_type)
- || !type_has_user_provided_default_constructor (mem_type)))
+ && default_init_uninitialized_part (mem_type))
{
if (msg)
error ("uninitialized non-static const member %q#D",