Make a metaprogramming hack more C++11-compatible
Make a metaprogramming hack more C++11-compatible

This is a refined version of https://codereview.chromium.org/13824006/ by @thakis which was reverted due to compilation errors on Windows.

Some classes have private "operator delete"s, which causes their
destructors to be deleted in C++11. Clang's r178563 implemented
this rule better, and as a result using these classes with memory
instrumentation causes a compile error. To unblock the clang roll,
give the metaprogramming helper class an explicit nondeleted
destructor. (This is just a workaround, not a permanent fix, see bug.)

See also http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130415/078311.html

TBR=thakis
BUG=233473
TEST=Stuff still builds in C++11 mode after the next clang roll.

Review URL: https://codereview.chromium.org/14241017

git-svn-id: bf5cd6ccde378db821296732a091cfbcf5285fbd@148715 bbb929c8-8fbe-4397-9dbb-9b2b20218538

primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs,primiano/blink-gitcs