123456789101112131415161718192021 |
- // Copyright 2022 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef BASE_MEMORY_RAW_PTR_EXCLUSION_H_
- #define BASE_MEMORY_RAW_PTR_EXCLUSION_H_
- #include "build/build_config.h"
- #if defined(OFFICIAL_BUILD)
- // The annotation changed compiler output and increased binary size so disable
- // for official builds.
- // TODO(crbug.com/1320670): Remove when issue is resolved.
- #define RAW_PTR_EXCLUSION
- #else
- // Marks a field as excluded from the raw_ptr usage enforcement clang plugin.
- // Example: RAW_PTR_EXCLUSION Foo* foo_;
- #define RAW_PTR_EXCLUSION __attribute__((annotate("raw_ptr_exclusion")))
- #endif
- #endif // BASE_MEMORY_RAW_PTR_EXCLUSION_H_
|