Link_Flags_Type¶
- bitfield Link_Flags_Type¶
Information needed for linking.
Field
Description
Is_Defined
At least one definition was seen
Is_Local_To_Library
MS mode and neither dllexport nor dllimport
Is_Import
symbol was marked as dllimport
Is_Local
True if symbol should not be linked in next step
Has_Linkage
True if internal or external linkage
Has_External_Linkage
True for c or c++ linkage
Uses_Mangled_Name
True if c++-style linking
Is_Exported
Only for templates
Is_Pod
Pod C structure vs. OOP
Is_Abstract
For classes
Is_Final
For classes; sealed in C#
Is_Compiler_Generated
Artificial symbols
Is_Shared
Part of a dll/so
Is_Select_Any
Allows multiple definitions
Uses_Microsoft_Encoding
Functions: compare return type if Microsoft-compiled C++ code
Violates_Odr
Signals a violation of the ODR
Is_Thread_Local
for C++ variables and static fields
Is_External_Summary
for nodes in external library summaries
Is_Tentative_Definition
In C for global variables, will have Is_Defined as well
Is_Nested_Composite_C_Version
After linking C and C++ together
Is_Nested_C_Composite
For nested composites in C (which appear in global scope)
Is_Specialized
For partial and full template specializations
Is_Struct
For classes (if all declarations use
struct)Definition_Needed
For linking, marks declarations-in-use that request a definition
Is_Inline
For C++11 inline namespace or C++17 inline variables (for routines: see routine attributes)
Is_Incomplete_Instantiation
For class/routine members of template instances if they are defined in the template but not referenced in the instance
Is_Weak
weak symbol entry, no multiple-definition/unresolved-decl
Is_Implicitly_Declared