]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.other/optimize2.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / optimize2.C
diff --git a/gcc/testsuite/g++.old-deja/g++.other/optimize2.C b/gcc/testsuite/g++.old-deja/g++.other/optimize2.C
deleted file mode 100644 (file)
index 8a62b32..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-// Special g++ Options: -O2
-// 
-// Copyright (C) 2001 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 26 May 2001 <nathan@codesourcery.com>
-
-// Bug 2823. Inlineing the body of a thunk broke things. But that's
-// rarely a sensible thing to do anyway.
-
-#include <cstdio>
-#include <cstdlib>
-
-int objCount = 0;
-
-struct Thing
-{
-  int count;
-
-  Thing ();
-  Thing (Thing const &src);
-  
-  ~Thing ();
-  
-};
-
-Thing::Thing ()
-  :count (0)
-{
-  objCount++;
-  std::printf ("%p %s\n", (void *)this,__PRETTY_FUNCTION__);
-}
-
-Thing::Thing (Thing const &src)
-  :count (0)
-{
-  objCount++;
-  std::printf ("%p %s\n", (void *)this, __PRETTY_FUNCTION__);
-}
-
-Thing::~Thing ()
-{
-  std::printf ("%p %s\n", (void *)this, __PRETTY_FUNCTION__);
-  if (count)
-    std::abort ();
-  count--;
-  objCount--;
-}
-
-void x(Thing name)
-{
-  // destruct name here
-}
-
-class Base
-{
-  public:
-  virtual void test(const Thing& s) = 0;
-};
-
-class Impl : virtual public Base
-{
-  public:
-  virtual void test(const Thing& s)
-  {
-    x(s); // copy construct temporary
-  }
-};
-
-int main()
-{
-  Impl *impl = new Impl();
-  
-  impl->test( Thing ());       // This will use a thunk
-  return objCount != 0;
-}