10#include "llvm/Support/ErrorHandling.h"
20 return OS <<
"Internal";
22 return OS <<
"External";
24 llvm_unreachable(
"Unhandled EntityLinkage::LinkageType variant");
29 return OS <<
"EntityLinkage(" <<
Linkage.getLinkage() <<
")";
33 return Linkage ==
Other.Linkage;
37 return !(*
this ==
Other);
Represents the linkage properties of an entity in the program model.
@ None
local variables, function parameters
@ Internal
static functions/variables, anonymous namespace
@ External
globally visible across translation units
bool operator!=(const EntityLinkage &Other) const
bool operator==(const EntityLinkage &Other) const
constexpr EntityLinkage(LinkageType L)
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const BuildNamespace &BN)
Linkage
Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have.
@ Other
Other implicit parameter.