aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2016-04-22 12:16:21 -0400
committerJason Merrill <jason@gcc.gnu.org>2016-04-22 12:16:21 -0400
commit76f9244ed07780936e422cb6d4e9c8d229c1990a (patch)
tree357da5d82dcc3c51eed36f59c7c9eed17170d8d4 /gcc
parente7e12d92e359d0f66834e4b98e7ce3cd9c6d26d7 (diff)
downloadgcc-76f9244ed07780936e422cb6d4e9c8d229c1990a.zip
gcc-76f9244ed07780936e422cb6d4e9c8d229c1990a.tar.gz
gcc-76f9244ed07780936e422cb6d4e9c8d229c1990a.tar.bz2
* parser.c (cp_parser_perform_range_for_lookup): Decay the array.
From-SVN: r235370
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/parser.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ecfad0f..3a3373e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2016-04-22 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_perform_range_for_lookup): Decay the array.
+
2016-04-21 Patrick Palka <ppalka@gcc.gnu.org>
* name-lookup.c (free_saved_scope): New free list of saved_scope
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index feb8de7..500a9b3 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -11413,12 +11413,12 @@ cp_parser_perform_range_for_lookup (tree range, tree *begin, tree *end)
if (TREE_CODE (TREE_TYPE (range)) == ARRAY_TYPE)
{
/* If RANGE is an array, we will use pointer arithmetic. */
- *begin = range;
+ *begin = decay_conversion (range, tf_warning_or_error);
*end = build_binary_op (input_location, PLUS_EXPR,
range,
array_type_nelts_top (TREE_TYPE (range)),
0);
- return build_pointer_type (TREE_TYPE (TREE_TYPE (range)));
+ return TREE_TYPE (*begin);
}
else
{