diff options
author | Jason Merrill <jason@redhat.com> | 2014-10-09 14:05:23 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-10-09 14:05:23 -0400 |
commit | 5d4fffb822d1370d3e8efb694dbc9dc35d003de8 (patch) | |
tree | e693169104be90738ecedfcb42e33ae921774d61 /gcc/cp | |
parent | 96e780c0873477bb2b9ab34306e4694dad6626aa (diff) | |
download | gcc-5d4fffb822d1370d3e8efb694dbc9dc35d003de8.zip gcc-5d4fffb822d1370d3e8efb694dbc9dc35d003de8.tar.gz gcc-5d4fffb822d1370d3e8efb694dbc9dc35d003de8.tar.bz2 |
re PR c++/63415 (internal compiler error: unexpected expression ‘static_cast<int>(std::is_same<T, A1>{})’ of kind static_cast_expr)
PR c++/63415
* pt.c (value_dependent_expression_p) [CONSTRUCTOR]: Check the type.
(iterative_hash_template_arg): Likewise.
From-SVN: r216043
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/pt.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7448548..09aad7d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2014-10-09 Jason Merrill <jason@redhat.com> + PR c++/63415 + * pt.c (value_dependent_expression_p) [CONSTRUCTOR]: Check the type. + (iterative_hash_template_arg): Likewise. + PR c++/63437 * cp-tree.h (REF_PARENTHESIZED_P): Also allow INDIRECT_REF. * semantics.c (force_paren_expr): And set it. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 7d380e5..85af59d 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -1598,6 +1598,7 @@ iterative_hash_template_arg (tree arg, hashval_t val) case CONSTRUCTOR: { tree field, value; + iterative_hash_template_arg (TREE_TYPE (arg), val); FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (arg), i, field, value) { val = iterative_hash_template_arg (field, val); @@ -21062,6 +21063,8 @@ value_dependent_expression_p (tree expression) { unsigned ix; tree val; + if (dependent_type_p (TREE_TYPE (expression))) + return true; FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (expression), ix, val) if (value_dependent_expression_p (val)) return true; |