1 // -*- C++ -*-
2 #pragma GCC system_header
3
4 using size_t = decltype(sizeof(42));
5 inline void * operator new (size_t, void *p) noexcept { return p; }
6
7 template<typename _Up, typename... _Args>
8 void
9 construct1(_Up* __p, _Args... __args)
10 noexcept(noexcept(::new((void *)__p) _Up(__args...)))
11 { ::new((void *)__p) _Up(__args...); }
12
13 template<typename _Up, typename... _Args>
14 void
15 construct2(_Up* __p, _Args... __args)
16 noexcept(noexcept(::new((void *)__p) _Up(__args...)))
17 { ::new((void *)__p) _Up(__args...); }
18
19 class Automatic1 {
20 public:
21 Automatic1(size_t bla) : Bla(bla) {};
22
23 private:
24 size_t Bla;
25 };