1d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zakstemplate<typename _Tp> 2d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaksclass auto_ptr { 3d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaksprivate: 4d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks _Tp* _M_ptr; 5d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zakspublic: 6d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks auto_ptr(_Tp* __p = 0) throw() : _M_ptr(__p) { } 7d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks ~auto_ptr() { delete _M_ptr; } 8d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks}; 9d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks 10d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaksvoid cause_div_by_zero_in_header(int in) { 11d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks int h = 0; 12d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks h = in/h; 13d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks h++; 14d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks} 15d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks 16d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaksvoid do_something (int in) { 17d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks in++; 18d95b70175646829c26344d5f0bda1ec3009f2a5bAnna Zaks in++; 1961dfd6f160f7501e140704990db9c449d29f8649Anna Zaks} 2061dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 2161dfd6f160f7501e140704990db9c449d29f8649Anna Zaksvoid cause_div_by_zero_in_header2(int in) { 2261dfd6f160f7501e140704990db9c449d29f8649Anna Zaks int h2 = 0; 2361dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h2 = in/h2; 2461dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h2++; 2561dfd6f160f7501e140704990db9c449d29f8649Anna Zaks} 2661dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 2761dfd6f160f7501e140704990db9c449d29f8649Anna Zaks# define CALLS_BUGGY_FUNCTION2 cause_div_by_zero_in_header2(5); 2861dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 2961dfd6f160f7501e140704990db9c449d29f8649Anna Zaksvoid cause_div_by_zero_in_header3(int in) { 3061dfd6f160f7501e140704990db9c449d29f8649Anna Zaks int h3 = 0; 3161dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h3 = in/h3; 3261dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h3++; 3361dfd6f160f7501e140704990db9c449d29f8649Anna Zaks} 3461dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 3561dfd6f160f7501e140704990db9c449d29f8649Anna Zaks# define CALLS_BUGGY_FUNCTION3 cause_div_by_zero_in_header3(5); 3661dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 3761dfd6f160f7501e140704990db9c449d29f8649Anna Zaksvoid cause_div_by_zero_in_header4(int in) { 3861dfd6f160f7501e140704990db9c449d29f8649Anna Zaks int h4 = 0; 3961dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h4 = in/h4; 4061dfd6f160f7501e140704990db9c449d29f8649Anna Zaks h4++; 4161dfd6f160f7501e140704990db9c449d29f8649Anna Zaks} 4261dfd6f160f7501e140704990db9c449d29f8649Anna Zaks 4361dfd6f160f7501e140704990db9c449d29f8649Anna Zaks# define TAKE_CALL_AS_ARG(c) c; 44