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 PARTITION_ALLOC_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_ 6 #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_ 7 8 // Extensions for PA's copy of `//base/compiler_specific.h`. 9 10 #include "partition_alloc/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 // PARTITION_ALLOC_PARTITION_ALLOC_BASE_AUGMENTATIONS_COMPILER_SPECIFIC_H_ 23