]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
authorRichard Guenther <rguenther@suse.de>
Fri, 5 Oct 2007 12:20:18 +0000 (12:20 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 5 Oct 2007 12:20:18 +0000 (12:20 +0000)
2007-10-05  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.

* g++.dg/tree-ssa/obj-type-ref.C: New testcase.

From-SVN: r129033

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/obj-type-ref.C [new file with mode: 0644]
gcc/tree-cfg.c

index fba43b2cb0c29492c71bde3beb423f7cd7025efd..70c369a0c4b39bfeb94117916aa7c233527a9b51 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
+
 2007-10-05  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR target/33635
index 2252f679a027d45ab2467e8f7aef7e8da6a2f3f0..ca33da8fa45902aa4d8881f55471890ff08be4dd 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-05  Richard Guenther  <rguenther@suse.de>
+
+       * g++.dg/tree-ssa/obj-type-ref.C: New testcase.
+
 2007-10-05  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR target/33635
diff --git a/gcc/testsuite/g++.dg/tree-ssa/obj-type-ref.C b/gcc/testsuite/g++.dg/tree-ssa/obj-type-ref.C
new file mode 100644 (file)
index 0000000..9854d32
--- /dev/null
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+
+/* This used to fail with type-checking enabled because we didn't
+   expect OBJ_TYPE_REF expressions.  */
+
+class QObject {};
+class Pile : public QObject {
+public:
+    virtual void setVisible(void);
+};
+class Spider {
+    void dealRow();
+    Pile *redeals[5];
+    int m_redeal;
+};
+void Spider::dealRow()
+{
+    redeals[m_redeal++]->setVisible();
+}
index ad319244c4d264c660b6847d8e6c1a6cdcd9718a..7b21ddceb7a313fd0c301b33fd28138e8cccc450 100644 (file)
@@ -3850,6 +3850,10 @@ verify_gimple_expr (tree expr)
         didn't see a function declaration before the call.  */
       return false;
 
+    case OBJ_TYPE_REF:
+      /* FIXME.  */
+      return false;
+
     default:;
     }