diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2012-10-18 17:02:10 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2012-10-18 17:02:10 +0000 |
commit | 0fb2e99454910a5071743ccb924223ca3df33d36 (patch) | |
tree | 669c621315f1f2866e2dc8129715c00bcb5fe918 | |
parent | 855828f1b1007df6d58a4bd93f3fdb3de2e655b5 (diff) | |
download | gcc-0fb2e99454910a5071743ccb924223ca3df33d36.zip gcc-0fb2e99454910a5071743ccb924223ca3df33d36.tar.gz gcc-0fb2e99454910a5071743ccb924223ca3df33d36.tar.bz2 |
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
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/pr29633.C | 29 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7ed81b9..98c4815 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. diff --git a/gcc/testsuite/g++.dg/template/pr29633.C b/gcc/testsuite/g++.dg/template/pr29633.C new file mode 100644 index 0000000..3e0254a --- /dev/null +++ b/gcc/testsuite/g++.dg/template/pr29633.C @@ -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; +} |