Commit 5bef11c8 by Jonathan Wakely Committed by Jonathan Wakely

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
parent dfb737fc
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> 2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement final on class. Implement final on class.
......
...@@ -8682,7 +8682,7 @@ cp_convert_range_for (tree statement, tree range_decl, tree range_expr) ...@@ -8682,7 +8682,7 @@ cp_convert_range_for (tree statement, tree range_decl, tree range_expr)
static tree static tree
cp_parser_perform_range_for_lookup (tree range, tree *begin, tree *end) 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 " error ("range-based %<for%> expression of type %qT "
"has incomplete type", TREE_TYPE (range)); "has incomplete type", TREE_TYPE (range));
......
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> 2011-05-15 Tobias Burnus <burnus@net-b.de>
PR fortran/18918 PR fortran/18918
......
// 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)
;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment