Table of Contents

Enum ModuleFlagBehavior

Namespace
Ubiquity.NET.Llvm
Assembly
Ubiquity.NET.Llvm.dll

Enumeration to indicate the behavior of module level flags metadata sharing the same name in a Module

public enum ModuleFlagBehavior

Fields

Append = 4

Appends the two values, which are required to be metadata nodes

AppendUnique = 5

Appends the two values, which are required to be metadata nodes dropping duplicate entries in the second list

Error = 0

Emits an error if two values disagree, otherwise the resulting value is that of the operands

Override = 3

Uses the specified value, regardless of the behavior or value of the other module

If both modules specify Override, but the values differ, and error will be emitted

Require = 2

Adds a requirement that another module flag be present and have a specified value after linking is performed

The value must be a metadata pair, where the first element of the pair is the ID of the module flag to be restricted, and the second element of the pair is the value the module flag should be restricted to. This behavior can be used to restrict the allowable results (via triggering of an error) of linking IDs with the Override behavior

Warning = 1

Emits a warning if two values disagree. The result will be the operand for the flag from the first module being linked