diff options
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 3e9e612..add7596 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -469,13 +469,13 @@ perform_member_init (tree member, tree init) { tree decl; tree type = TREE_TYPE (member); - bool explicit; + bool is_explicit; - explicit = (init != NULL_TREE); + is_explicit = (init != NULL_TREE); /* Effective C++ rule 12 requires that all data members be initialized. */ - if (warn_ecpp && !explicit && TREE_CODE (type) != ARRAY_TYPE) + if (warn_ecpp && !is_explicit && TREE_CODE (type) != ARRAY_TYPE) warning (OPT_Weffc__, "%J%qD should be initialized in the member initialization " "list", current_function_decl, member); @@ -503,7 +503,7 @@ perform_member_init (tree member, tree init) } else if (TYPE_NEEDS_CONSTRUCTING (type)) { - if (explicit + if (is_explicit && TREE_CODE (type) == ARRAY_TYPE && init != NULL_TREE && TREE_CHAIN (init) == NULL_TREE @@ -523,7 +523,7 @@ perform_member_init (tree member, tree init) { if (init == NULL_TREE) { - if (explicit) + if (is_explicit) { init = build_default_init (type, /*nelts=*/NULL_TREE); if (TREE_CODE (type) == REFERENCE_TYPE) |