OSDN Git Service

2007-10-05 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Oct 2007 12:20:18 +0000 (12:20 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Oct 2007 12:20:18 +0000 (12:20 +0000)
* tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129033 138bc75d-0d04-0410-961f-82ee72b054a4

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 fba43b2..70c369a 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 2252f67..ca33da8 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 ad31924..7b21ddc 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:;
     }