2008-05-10 Kenneth Zadeck <zadeck@naturalbridge.com>
* gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P.
2008-05-10 Kenneth Zadeck <zadeck@naturalbridge.com>
PR rtl-optimization/36185
* g++.dg/opt/pr36185.C
From-SVN: r135159
+2008-05-10 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P.
+
2008-05-10 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (bdesc_ptest): Removed.
{
/* A normal or pure call might read from pattern,
but a const call will not. */
- if (RTL_CONST_CALL_P (insn))
+ if (!RTL_CONST_CALL_P (insn))
return true;
/* But even a const call reads its parameters. Check whether the
+<<<<<<< .mine
+2008-05-10 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR rtl-optimization/36185
+ * g++.dg/opt/pr36185.C
+
+=======
2008-05-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
* write_to_null.f90: Rename to write_to_null.F90.
* write_to_null.F90: On Windows, "nul" is the equivalent of the
Unix /dev/null.
+>>>>>>> .r135158
2008-05-10 Richard Sandiford <rdsandiford@googlemail.com>
PR rtl-optimization/33642
--- /dev/null
+// PR rtl-optimization/36185
+// { dg-do run }
+// { dg-options "-O2 -fgcse-sm" }
+
+struct Base {
+ virtual ~Base() {}
+ virtual void f() = 0;
+};
+struct Derived : Base {
+ Derived();
+ virtual void f() {}
+};
+struct Foo {
+ Foo(Base&);
+};
+Derived::Derived() {
+ Foo foo(*this);
+}
+Foo::Foo(Base& base) {
+ base.f();
+}
+int main() {
+ Derived d;
+}