// Copyright 2006-2008 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "platform_test.h" // /!\ WARNING! // // Chromium compiles this file as ARC, but other dependencies pull it in and // compile it as non-ARC. Be sure that this file compiles correctly with either // build setting. // // /!\ WARNING! // Note that this uses the direct runtime interface to the autorelease pool. // https://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime-support // This is so this can work correctly whether or not it's compiled for ARC. extern "C" { void* objc_autoreleasePoolPush(void); void objc_autoreleasePoolPop(void* pool); } PlatformTest::PlatformTest() : autorelease_pool_(objc_autoreleasePoolPush()) {} PlatformTest::~PlatformTest() { objc_autoreleasePoolPop(autorelease_pool_); }