re PR c++/48530 ([C++0x][SFINAE] Hard errors with deleted d'tors)
/cp 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48530 * tree.c (build_cplus_new): Check build_target_expr return value for error_mark_node. /testsuite 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48530 * g++.dg/cpp0x/sfinae18.C: New. From-SVN: r173063
This commit is contained in:
parent
83b6b866e6
commit
a6343f618b
|
@ -1,3 +1,9 @@
|
|||
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/48530
|
||||
* tree.c (build_cplus_new): Check build_target_expr return
|
||||
value for error_mark_node.
|
||||
|
||||
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/48771
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Language-dependent node constructors for parse phase of GNU compiler.
|
||||
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
|
||||
Free Software Foundation, Inc.
|
||||
Hacked by Michael Tiemann (tiemann@cygnus.com)
|
||||
|
||||
|
@ -456,7 +456,9 @@ build_cplus_new (tree type, tree init, tsubst_flags_t complain)
|
|||
return rval;
|
||||
|
||||
rval = build_target_expr (slot, rval, complain);
|
||||
TARGET_EXPR_IMPLICIT_P (rval) = 1;
|
||||
|
||||
if (rval != error_mark_node)
|
||||
TARGET_EXPR_IMPLICIT_P (rval) = 1;
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/48530
|
||||
* g++.dg/cpp0x/sfinae18.C: New.
|
||||
|
||||
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/48771
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
// PR c++/48530
|
||||
// { dg-options -std=c++0x }
|
||||
|
||||
template<class T,
|
||||
class = decltype(T())
|
||||
>
|
||||
char f(int);
|
||||
|
||||
template<class>
|
||||
char (&f(...))[2];
|
||||
|
||||
struct DelDtor {
|
||||
DelDtor() = default;
|
||||
~DelDtor() = delete;
|
||||
};
|
||||
|
||||
static_assert(sizeof(f<DelDtor>(0)) != 1, "Error");
|
Loading…
Reference in New Issue