OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [ld/] [testsuite/] [ld-cdtest/] [cdtest-main.cc] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
// main program for Class Foo
2
 
3
extern "C" {
4
// Some <assert.h> implementations (e.g. SUNOS 4.1) are broken,
5
// in that they require <stdio.h>.  But, if gcc/g++ is installed
6
// correctly, you should get gcc's assert.h.
7
// If the compile fails, it means the wrong include files are in use!
8
#include <assert.h>
9
};
10
#include "cdtest-foo.h"
11
 
12
extern "C" void __init_start();
13
 
14
extern Foo f(void);
15
extern void g(void);
16
 
17
/* This function should *not* be called by the environment.  There is
18
   no way in C++ to ``run something after the initializers but before main()''.
19
   The library that depends on this (NIHCL) is broken.  -- John Gilmore
20
   We leave this here to test that future changes to the compiler
21
   do not re-introduce this losing ``feature''.  */
22
void
23
__init_start()
24
{
25
    Foo::init_foo();
26
}
27
 
28
static Foo static_foo( "static_foo");
29
 
30
int main()
31
{
32
    assert (Foo::nb_foos() == 2);
33
    Foo automatic_foo( "automatic_foo");
34
    Foo bla_foo = f();
35
    assert (Foo::nb_foos() == 4);
36
    g();
37
    assert (Foo::nb_foos() == 4);
38
    // `automatic_foo' and `bla_foo' are destructed here 
39
}
40
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.