This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/16948] [3.5 Regression] Many new testsuite failures on hppa64-hp-hpux11.11


------- Additional Comments From jason at redhat dot com  2004-08-09 19:24 -------
Subject: Re:  [3.5 Regression] Many new testsuite
 failures on hppa64-hp-hpux11.11

On 9 Aug 2004 18:47:53 -0000, "jason at redhat dot com" <gcc-bugzilla@gcc.gnu.org> wrote:

> conversiontest08 should be initializing ptr.  What does the
> -fdump-tree-gimple output look like?

Running a pa64 cross compiler on preprocessed code for x86-linux-gnu, I see

std::auto_ptr<Derived> conversiontest08() ()
{
  struct auto_ptr<Derived> & T___932;
  struct auto_ptr_ref<Derived> <D28724>;
  struct auto_ptr<Derived> <D28705>;
  void * T___933;
  struct Derived * T___933___934;

  T___932 = <retval>;
  T___933 = operator new (1);
  T___933___934 = (struct Derived *)T___933;
  __comp_ctor (&<D28705>, T___933___934);
  <D28724> = operator 7 (&<D28705>);
  __comp_ctor (T___932, <D28724>);
  return <retval>;
}

void test08() ()
{
  struct auto_ptr_ref<Base> <D28852>;
  struct auto_ptr<Derived> <D28819>;

  {
    struct auto_ptr<Base> ptr;

    __comp_ctor (&ptr, 0B);
    try
      {
        conversiontest08 (&<D28819>) [return slot addr];
        <D28852> = operator 8 (&<D28819>);
        operator= (&ptr, <D28852>);
      }
    finally
      {
        __comp_dtor (&ptr);
      }
  }
}

which all looks right to me, though the address of ptr is not, in fact,
being passed to conversiontest08; if it is in the generated binary, that's
a bug.

Does the disassembly you quoted seem to match the above pseudo-code?

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16948


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]