1template<typename _Tp> 2class auto_ptr { 3private: 4 _Tp* _M_ptr; 5public: 6 auto_ptr(_Tp* __p = 0) throw() : _M_ptr(__p) { } 7 ~auto_ptr() { delete _M_ptr; } 8}; 9 10void cause_div_by_zero_in_header(int in) { 11 int h = 0; 12 h = in/h; 13 h++; 14} 15 16void do_something (int in) { 17 in++; 18 in++; 19} 20 21void cause_div_by_zero_in_header2(int in) { 22 int h2 = 0; 23 h2 = in/h2; 24 h2++; 25} 26 27# define CALLS_BUGGY_FUNCTION2 cause_div_by_zero_in_header2(5); 28 29void cause_div_by_zero_in_header3(int in) { 30 int h3 = 0; 31 h3 = in/h3; 32 h3++; 33} 34 35# define CALLS_BUGGY_FUNCTION3 cause_div_by_zero_in_header3(5); 36 37void cause_div_by_zero_in_header4(int in) { 38 int h4 = 0; 39 h4 = in/h4; 40 h4++; 41} 42 43# define TAKE_CALL_AS_ARG(c) c; 44