aboutsummaryrefslogtreecommitdiff
path: root/arch/all/cpp/include/new
blob: 0d7b2ecaeff58cc2b73b88b0a85e71d104074aa7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/* ****************************************************************************
 * C++ new operator.
 * ************************************************************************* */
#if __USE_CXX98 && !defined(_NEW_HPP) && !defined(__NEW__) \
	&& !defined(_NEW_) && !defined(__NEW_H)
# define  _NEW_HPP 1
# define __NEW__   1
# define  _NEW_    1
# define __NEW_H   1
# include <cdefs.h>
# ifdef __embedded_cplusplus

void *operator new   (size_t);
void *operator new[] (size_t);
void *operator new   (size_t, void*);
void *operator new[] (size_t, void*);

void operator delete   (void*);
void operator delete[] (void*);
void operator delete   (void*, void*); /* not implemented with renesas C/C++ */
void operator delete[] (void*, void*); /* not implemented with renesas C/C++ */

typedef void (*new_handler)();
new_handler set_new_handler(new_handler new_P);
extern new_handler _ec2p_new_handler;

# else /* !__embedded_cplusplus */
__BEGIN_NAMESPACE_STD

class bad_alloc: public exception {
public:
	bad_alloc() throw();
	bad_alloc(const bad_alloc&) throw();
	bad_alloc& operator = (const bad_alloc&) throw();
	virtual ~bad_alloc() throw();
	virtual const char *what() const throw();
};

typedef void (*new_handler)();
new_handler set_new_handler(new_handler new_P);
struct nothrow_t { };
const nothrow_t nothrow = {};

void *operator new   (size_t) throw(std::bad_alloc);
void *operator new   (size_t, const std::nothrow_t&) throw();
void *operator new   (size_t, void*) throw();
#  ifdef __ARRAY_OPERATORS
void *operator new[] (size_t) throw(std::bad_alloc);
void *operator new[] (size_t, const std::nothrow_t&) throw();
void *operator new[] (size_t, void*) throw();
#  endif

void operator delete   (void*) throw();
void operator delete   (void*, const std::nothrow_t&) throw();
#  ifdef __PLACEMENT_DELETE
void operator delete   (void*, void*) throw();
#  endif
#  ifdef __ARRAY_OPERATORS
void operator delete[] (void*) throw();
void operator delete[] (void*, void*) throw();
#   ifdef __PLACEMENT_DELETE
void operator delete[] (void*, const std::nothrow_t&) throw();
#   endif
#  endif

extern std::new_handler _ec2p_new_handler;

__END_NAMESPACE_STD
# endif
#endif /* _NEW_HPP, __NEW__, _NEW_, __NEW_H */
# ifndef   _NEW_HPP
#  define  _NEW_HPP 1
# endif
# ifndef  __NEW__
#  define __NEW__   1
# endif
# ifndef   _NEW_
#  define  _NEW_    1
# endif
# ifndef  __NEW_H
#  define __NEW_H   1
# endif