• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 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 #ifndef BASE_ALLOCATOR_ALLOCATOR_SHIM_INTERNALS_H_
6 #define BASE_ALLOCATOR_ALLOCATOR_SHIM_INTERNALS_H_
7 
8 #if defined(__GNUC__)
9 
10 #include <sys/cdefs.h>  // for __THROW
11 
12 #ifndef __THROW  // Not a glibc system
13 #ifdef _NOEXCEPT  // LLVM libc++ uses noexcept instead
14 #define __THROW _NOEXCEPT
15 #else
16 #define __THROW
17 #endif  // !_NOEXCEPT
18 #endif
19 
20 // Shim layer symbols need to be ALWAYS exported, regardless of component build.
21 #define SHIM_ALWAYS_EXPORT __attribute__((visibility("default")))
22 
23 #define SHIM_ALIAS_SYMBOL(fn) __attribute__((alias(#fn)))
24 
25 #endif  // __GNUC__
26 
27 #endif  // BASE_ALLOCATOR_ALLOCATOR_SHIM_INTERNALS_H_
28