re PR c++/49118 (Endless operator-> chain causes infinite loop)
authorDavid Krauss <potswa@mac.com>
Fri, 10 Jun 2011 05:18:36 +0000 (05:18 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 10 Jun 2011 05:18:36 +0000 (01:18 -0400)
commit6904f4b401d50c17b1a0dbd6eac64212700973fa
treecf32c9ad430552e602f47206b7f64bdc57c16863
parent0dbe3777353ae62281f913cfc5df518d1dce98c7
re PR c++/49118 (Endless operator-> chain causes infinite loop)

PR c++/49118
* typeck2.c (build_x_arrow): Push fake template context
to produce diagnostic on acyclic endless operator-> drill-down.
* call.c (build_new_op): Change Boolean overload status
value to a pointer to the overload function.
* cp-tree.h: Likewise.
* typeck.c: Likewise.
* parser.c: Likewise.
* decl2.c: Likewise.
* pt.c: Likewise.

From-SVN: r174889
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/decl2.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/arrow1.C [new file with mode: 0644]