re PR c++/29633 (syntax error in do/while condition with templates reports incorrect line number)

2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29633
	* g++.dg/template/pr29633.C: New.

From-SVN: r192570
This commit is contained in:
Paolo Carlini 2012-10-18 17:02:10 +00:00 committed by Paolo Carlini
parent 855828f1b1
commit 0fb2e99454
2 changed files with 34 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29633
* g++.dg/template/pr29633.C: New.
2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/loop_optimization13.ad[sb]: New test.

View File

@ -0,0 +1,29 @@
// PR c++/29633
template <typename T>
struct Class1
{
void testfn1(void);
};
template <typename T>
class Class2
{
public:
void testfn2(void)
{
Class1<T> * tc_a;
do
{
int x = 0;
}
while (tc_a && tc_a->testfn1); // { dg-error "invalid use of member" }
}
};
int main(void)
{
Class2<int> tc2;
tc2.testfn2();
return 0;
}