//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template // class codecvt_utf8 // : public codecvt // { // // unspecified // }; // Not a portable test #include #include int outstanding_news = 0; void* operator new(std::size_t s) throw(std::bad_alloc) { ++outstanding_news; return std::malloc(s); } void operator delete(void* p) throw() { if (p) { --outstanding_news; std::free(p); } } int main() { assert(outstanding_news == 0); { typedef std::codecvt_utf8 C; C c; assert(outstanding_news == 0); } { typedef std::codecvt_utf8 C; std::locale loc(std::locale::classic(), new C); assert(outstanding_news != 0); } assert(outstanding_news == 0); }