From: Jason Merrill Date: Fri, 14 Nov 2003 08:17:33 +0000 (-0500) Subject: re PR c++/13033 ([tree-ssa] ICE in lower_stmt) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53ee1bf364053cbd75a451f449288caff1792a27;p=gcc.git re PR c++/13033 ([tree-ssa] ICE in lower_stmt) PR c++/13033 * c-simplify.c (gimplify_c_loop): Wrap the increment in a CLEANUP_POINT_EXPR. From-SVN: r73587 --- diff --git a/gcc/testsuite/g++.dg/init/cleanup1.C b/gcc/testsuite/g++.dg/init/cleanup1.C new file mode 100644 index 00000000000..517af15c673 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/cleanup1.C @@ -0,0 +1,16 @@ +// PR c++/13033 + +// We failed to treat the for increment expression as a full-expression, +// which broke gimplification. + +struct QDomNode { + virtual ~QDomNode(); + QDomNode nextSibling() const; + bool isNull() const; +}; + +void processNode(QDomNode n) +{ + for (; !n.isNull(); n = n.nextSibling()) + ; +}