/* Check cf5-opt.vim defs.
VIM: let g:lcppflags="-std=c++11 -O2 -pthread"
VIM: let g:wcppflags="/O2 /EHsc /DWIN32"
VIM: let g:cppflags=g:Iboost.g:Itbb
VIM: let g:ldflags=g:Lboost.g:Ltbb.g:tbbmalloc.g:tbbmproxy
VIM: let g:ldlibpath=g:Bboost.g:Btbb
VIM: let g:argv=""
VIM-: let g:cf5output=0
*/

#include "stdafx.h"
#include <stdio.h>

class a
{
public:
        a()
        {
                printf( "a\n" );
        }

        ~a()
        {
                printf( "~a\n" );
        }

        int f()
        {
                return 0;
        }

		void operator delete ( void* p )
		{
			printf( "operator delete()\n" );
		}
};

int main(int argc, const char * argv[])
{
/*
    a o;

//      o.a( 0 );
    o.~a();

    o.f();

    reinterpret_cast<a*>(0)->a::a();
*/
	a* p1 = new a();
	delete p1;

	a* p2 = new a();
	a::operator delete( p2 );

	return 0;
}

