clang  6.0.0svn
Namespaces | Enumerations | Functions
Linkage.h File Reference

Defines the Linkage enumeration and various utility functions. More...

#include <assert.h>
#include <stdint.h>
#include <utility>
Include dependency graph for Linkage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Enumerations

enum  clang::Linkage : unsigned char {
  clang::NoLinkage = 0, clang::InternalLinkage, clang::UniqueExternalLinkage, clang::VisibleNoLinkage,
  clang::ModuleInternalLinkage, clang::ModuleLinkage, clang::ExternalLinkage
}
 Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have. More...
 
enum  clang::LanguageLinkage { clang::CLanguageLinkage, clang::CXXLanguageLinkage, clang::NoLanguageLinkage }
 Describes the different kinds of language linkage (C++ [dcl.link]) that an entity may have. More...
 
enum  clang::GVALinkage {
  clang::GVA_Internal, clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_StrongExternal,
  clang::GVA_StrongODR
}
 A more specific kind of linkage than enum Linkage. More...
 

Functions

bool clang::isDiscardableGVALinkage (GVALinkage L)
 
bool clang::isExternallyVisible (Linkage L)
 
Linkage clang::getFormalLinkage (Linkage L)
 
bool clang::isExternalFormalLinkage (Linkage L)
 
Linkage clang::minLinkage (Linkage L1, Linkage L2)
 Compute the minimum linkage given two linkages. More...
 

Detailed Description

Defines the Linkage enumeration and various utility functions.

Definition in file Linkage.h.