Commit dce50630 by Mark Mitchell Committed by Mark Mitchell

re PR c++/10468 (const typeof(x) is non-const, but only in templates)

	PR c++/10468
	* pt.c (tsubst): Handle qualified TYPEOF_TYPEs correctly.

	PR c++/10468
	* g++.dg/ext/typeof5.C: New test.

From-SVN: r68615
parent 7a0ec607
2003-06-27 Mark Mitchell <mark@codesourcery.com>
PR c++/10468
* pt.c (tsubst): Handle qualified TYPEOF_TYPEs correctly.
2003-06-27 Mark Mitchell <mark@codesourcery.com>
PR c++/10796
* decl.c (finish_enum): Implement DR377.
......
......@@ -7062,7 +7062,10 @@ tsubst (tree t, tree args, tsubst_flags_t complain, tree in_decl)
if (e1 == error_mark_node)
return error_mark_node;
return TREE_TYPE (e1);
return cp_build_qualified_type_real (TREE_TYPE (e1),
cp_type_quals (t)
| cp_type_quals (TREE_TYPE (e1)),
complain);
}
default:
......
2003-06-27 Mark Mitchell <mark@codesourcery.com>
PR c++/10468
* g++.dg/ext/typeof6.C: New test.
2003-06-27 Mark Mitchell <mark@codesourcery.com>
PR c++/10796
* g++.dg/init/enum1.C: New test.
......
// { dg-options "" }
template <class T>
void test1() {
int x = 0;
const typeof(x) & t1 = x+0;
}
void test2() {
int x = 0;
const typeof(x) & t1 = x+0;
}
int main() {
test1<int>();
test2 ();
}
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