re PR c++/48994 ([C++0x] error for trivial use of range-based 'for')
PR c++/48994 * parser.c (cp_parser_perform_range_for_lookup): Call complete_type. From-SVN: r173778
This commit is contained in:
parent
dfb737fcca
commit
5bef11c8e7
@ -1,3 +1,8 @@
|
||||
2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR c++/48994
|
||||
* parser.c (cp_parser_perform_range_for_lookup): Call complete_type.
|
||||
|
||||
2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||||
|
||||
Implement final on class.
|
||||
|
@ -8682,7 +8682,7 @@ cp_convert_range_for (tree statement, tree range_decl, tree range_expr)
|
||||
static tree
|
||||
cp_parser_perform_range_for_lookup (tree range, tree *begin, tree *end)
|
||||
{
|
||||
if (!COMPLETE_TYPE_P (TREE_TYPE (range)))
|
||||
if (!COMPLETE_TYPE_P (complete_type (TREE_TYPE (range))))
|
||||
{
|
||||
error ("range-based %<for%> expression of type %qT "
|
||||
"has incomplete type", TREE_TYPE (range));
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR c++/48994
|
||||
* g++.dg/cpp0x/range-for18.C: New.
|
||||
|
||||
2011-05-15 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/18918
|
||||
|
17
gcc/testsuite/g++.dg/cpp0x/range-for18.C
Normal file
17
gcc/testsuite/g++.dg/cpp0x/range-for18.C
Normal file
@ -0,0 +1,17 @@
|
||||
// PR c++/48994
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=c++0x" }
|
||||
|
||||
template <typename T>
|
||||
struct myvec
|
||||
{
|
||||
T* begin() const;
|
||||
T* end() const;
|
||||
};
|
||||
|
||||
void f(const myvec<int>& v)
|
||||
{
|
||||
for (int i : v)
|
||||
;
|
||||
}
|
Loading…
Reference in New Issue
Block a user