blob: 738ff4110998e09438bd91b95326f4b06b5c3aee [file] [log] [blame]
// 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_);
}