aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2013-08-28 22:40:34 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2013-08-28 22:40:34 +0000
commit1ca66f7efec0dd2977b190a11f5ce8642a1e90b2 (patch)
tree41777c2f01235f1edc02affaed8dd5c2c337c778 /gcc/cp/init.c
parentb208ba405685dc77a095a22db323323abb3bf846 (diff)
downloadgcc-1ca66f7efec0dd2977b190a11f5ce8642a1e90b2.zip
gcc-1ca66f7efec0dd2977b190a11f5ce8642a1e90b2.tar.gz
gcc-1ca66f7efec0dd2977b190a11f5ce8642a1e90b2.tar.bz2
re PR c++/58255 ([C++11] explicit delegating constructor with no arguments wrongly rejected)
/cp 2013-08-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58255 * init.c (build_aggr_init): When init == void_type_node do not set LOOKUP_ONLYCONVERTING. /testsuite 2013-08-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58255 * g++.dg/cpp0x/dc7.C: New. From-SVN: r202061
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r--gcc/cp/init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 3ec32c5..156b4a1 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1464,7 +1464,8 @@ build_aggr_init (tree exp, tree init, int flags, tsubst_flags_t complain)
TREE_READONLY (exp) = 0;
TREE_THIS_VOLATILE (exp) = 0;
- if (init && TREE_CODE (init) != TREE_LIST
+ if (init && init != void_type_node
+ && TREE_CODE (init) != TREE_LIST
&& !(TREE_CODE (init) == TARGET_EXPR
&& TARGET_EXPR_DIRECT_INIT_P (init))
&& !(BRACE_ENCLOSED_INITIALIZER_P (init)