PR c++/78124 - list-initialization and inherited ctor
* name-lookup.c (do_class_using_decl): Set CLASSTYPE_NON_AGGREGATE. From-SVN: r242563
This commit is contained in:
parent
07a67f7b09
commit
f8691e9818
4 changed files with 20 additions and 1 deletions
|
@ -1,5 +1,8 @@
|
|||
2016-11-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/78124 - list-initialization and inherited ctor
|
||||
* name-lookup.c (do_class_using_decl): Set CLASSTYPE_NON_AGGREGATE.
|
||||
|
||||
PR c++/78369 - {} as default argument
|
||||
* call.c (build_special_member_call): Handle CONSTRUCTOR.
|
||||
|
||||
|
|
|
@ -5707,7 +5707,6 @@ extern bool type_has_user_nondefault_constructor (tree);
|
|||
extern tree in_class_defaulted_default_constructor (tree);
|
||||
extern bool user_provided_p (tree);
|
||||
extern bool type_has_user_provided_constructor (tree);
|
||||
extern bool type_has_user_provided_or_explicit_constructor (tree);
|
||||
extern bool type_has_non_user_provided_default_constructor (tree);
|
||||
extern bool vbase_has_user_provided_move_assign (tree);
|
||||
extern tree default_init_uninitialized_part (tree);
|
||||
|
|
|
@ -3382,6 +3382,7 @@ do_class_using_decl (tree scope, tree name)
|
|||
{
|
||||
maybe_warn_cpp0x (CPP0X_INHERITING_CTORS);
|
||||
name = ctor_identifier;
|
||||
CLASSTYPE_NON_AGGREGATE (current_class_type) = true;
|
||||
}
|
||||
if (constructor_name_p (name, current_class_type))
|
||||
{
|
||||
|
|
16
gcc/testsuite/g++.dg/cpp0x/inh-ctor23.C
Normal file
16
gcc/testsuite/g++.dg/cpp0x/inh-ctor23.C
Normal file
|
@ -0,0 +1,16 @@
|
|||
// PR c++/78124
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
struct base {
|
||||
explicit constexpr base(int&&) {}
|
||||
};
|
||||
|
||||
struct derived: base {
|
||||
using base::base;
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
derived d { 0 };
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue