re PR c++/60108 ([C++11] ICE in use_thunk, at cp/method.c:340)
PR c++/60108 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN. From-SVN: r208030
This commit is contained in:
parent
c754ffcc4c
commit
d723358d01
@ -1,5 +1,8 @@
|
||||
2014-02-21 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/60108
|
||||
* semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
|
||||
|
||||
PR c++/60185
|
||||
* parser.c (cp_parser_default_argument): Clear
|
||||
current_class_ptr/current_class_ref like tsubst_default_argument.
|
||||
|
@ -3986,7 +3986,7 @@ expand_or_defer_fn_1 (tree fn)
|
||||
linkage of all functions, and as that causes writes to
|
||||
the data mapped in from the PCH file, it's advantageous
|
||||
to mark the functions at this point. */
|
||||
if (!DECL_IMPLICIT_INSTANTIATION (fn))
|
||||
if (!DECL_IMPLICIT_INSTANTIATION (fn) || DECL_DEFAULTED_FN (fn))
|
||||
{
|
||||
/* This function must have external linkage, as
|
||||
otherwise DECL_INTERFACE_KNOWN would have been
|
||||
|
17
gcc/testsuite/g++.dg/cpp0x/defaulted48.C
Normal file
17
gcc/testsuite/g++.dg/cpp0x/defaulted48.C
Normal file
@ -0,0 +1,17 @@
|
||||
// PR c++/60108
|
||||
// { dg-require-effective-target c++11 }
|
||||
|
||||
template<int> struct A
|
||||
{
|
||||
virtual ~A();
|
||||
};
|
||||
|
||||
template<typename> struct B : A<0>, A<1>
|
||||
{
|
||||
~B() = default;
|
||||
};
|
||||
|
||||
struct C : B<bool>
|
||||
{
|
||||
C() {}
|
||||
};
|
Loading…
Reference in New Issue
Block a user