• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // This file contains helpers for the process_util_unittest to allow it to fully
6 // test the Mac code.
7 
8 #ifndef BASE_PROCESS_UTIL_UNITTEST_MAC_H_
9 #define BASE_PROCESS_UTIL_UNITTEST_MAC_H_
10 #pragma once
11 
12 #include "base/basictypes.h"
13 
14 namespace base {
15 
16 // Allocates memory via system allocators. Alas, they take a _signed_ size for
17 // allocation.
18 void* AllocateViaCFAllocatorSystemDefault(ssize_t size);
19 void* AllocateViaCFAllocatorMalloc(ssize_t size);
20 void* AllocateViaCFAllocatorMallocZone(ssize_t size);
21 
22 #if !defined(ARCH_CPU_64_BITS)
23 // See process_util_unittest_mac.mm for an explanation of why this function
24 // isn't implemented for the 64-bit environment.
25 
26 // Allocates a huge Objective C object.
27 void* AllocatePsychoticallyBigObjCObject();
28 
29 #endif  // !ARCH_CPU_64_BITS
30 
31 }  // namespace base
32 
33 #endif  // BASE_PROCESS_UTIL_UNITTEST_MAC_H_
34