Back to index

cell-binutils  2.17cvs20070401
sr3.cc
Go to the documentation of this file.
00001 // This file is compiled and linked into the S-record format.
00002 
00003 #define FOO_MSG_LEN 80
00004 
00005 class Foo {
00006     static int foos;
00007     int i;
00008     static const int len = FOO_MSG_LEN;
00009     char message[len];
00010 public:
00011     static void init_foo ();
00012     static int nb_foos() { return foos; }
00013     Foo();
00014     Foo(const char* message);
00015     Foo(const Foo&);
00016     Foo & operator= (const Foo&);
00017     ~Foo ();
00018 };
00019 
00020 static Foo static_foo( "static_foo");
00021 
00022 int
00023 main ()
00024 {
00025   Foo automatic_foo( "automatic_foo");
00026   return 0;
00027 }
00028 
00029 void
00030 terminate(void)
00031 {
00032   /* This recursive call prevents a compiler warning that the noreturn
00033      function terminate actually does return.  */
00034   terminate ();
00035 }
00036 
00037 extern "C" {
00038 void
00039 __main ()
00040 {
00041 }
00042 
00043 void
00044 __builtin_delete ()
00045 {
00046 }
00047 
00048 void
00049 __builtin_new ()
00050 {
00051 }
00052 
00053 void
00054 __throw ()
00055 {
00056 }
00057 
00058 void
00059 __rethrow ()
00060 {
00061 }
00062 
00063 void
00064 __terminate ()
00065 {
00066 }
00067 
00068 void *__eh_pc;
00069 
00070 void ***
00071 __get_dynamic_handler_chain ()
00072 {
00073   return 0;
00074 }
00075 
00076 void *
00077 __get_eh_context ()
00078 {
00079   return 0;
00080 }
00081 
00082 }
00083 
00084 int Foo::foos = 0;
00085 
00086 void Foo::init_foo ()
00087 {
00088   foos = 80;
00089 }
00090 
00091 Foo::Foo ()
00092 {
00093   i = ++foos;
00094 }
00095 
00096 Foo::Foo (const char*)
00097 {
00098   i = ++foos;
00099 }
00100 
00101 Foo::Foo (const Foo& foo)
00102 {
00103   i = ++foos;
00104   for (int k = 0; k < FOO_MSG_LEN; k++)
00105     message[k] = foo.message[k];
00106 }
00107 
00108 Foo& Foo::operator= (const Foo& foo)
00109 {
00110   for (int k = 0; k < FOO_MSG_LEN; k++)
00111     message[k] = foo.message[k];
00112   return *this;
00113 }
00114 
00115 Foo::~Foo ()
00116 {
00117   foos--;
00118 }
00119 
00120 void *__dso_handle;
00121 
00122 extern "C"
00123 int
00124 __cxa_atexit (void)
00125 {
00126   return 0;
00127 }