Current Path : /compat/linux/proc/68247/root/usr/src/contrib/llvm/tools/clang/include/clang/Basic/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/68247/root/usr/src/contrib/llvm/tools/clang/include/clang/Basic/Visibility.h |
//===--- Visibility.h - Visibility enumeration and utilities ----*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines the Visibility enumeration and various utility // functions. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_BASIC_VISIBILITY_H #define LLVM_CLANG_BASIC_VISIBILITY_H namespace clang { /// \link Describes the different kinds of visibility that a /// declaration may have. Visibility determines how a declaration /// interacts with the dynamic linker. It may also affect whether the /// symbol can be found by runtime symbol lookup APIs. /// /// Visibility is not described in any language standard and /// (nonetheless) sometimes has odd behavior. Not all platforms /// support all visibility kinds. enum Visibility { /// Objects with "hidden" visibility are not seen by the dynamic /// linker. HiddenVisibility, /// Objects with "protected" visibility are seen by the dynamic /// linker but always dynamically resolve to an object within this /// shared object. ProtectedVisibility, /// Objects with "default" visibility are seen by the dynamic linker /// and act like normal objects. DefaultVisibility }; inline Visibility minVisibility(Visibility L, Visibility R) { return L < R ? L : R; } } #endif // LLVM_CLANG_BASIC_VISIBILITY_H