• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2022 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_
6 #define BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_
7 
8 // Extensions for PA's copy of `//base/compiler_specific.h`.
9 
10 #include "base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h"
11 
12 // PA_ATTRIBUTE_RETURNS_NONNULL
13 //
14 // Tells the compiler that a function never returns a null pointer.
15 // Sourced from Abseil's `attributes.h`.
16 #if PA_HAS_ATTRIBUTE(returns_nonnull)
17 #define PA_ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull))
18 #else
19 #define PA_ATTRIBUTE_RETURNS_NONNULL
20 #endif
21 
22 #endif  // BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_
23