.. _linkage type:
* *linkage*: An encoding of the linkage type for this variable:
+
* ``external``: code 0
* ``weak``: code 1
* ``appending``: code 2
.. _visibility:
* *visibility*: If present, an encoding of the visibility of this variable:
+
* ``default``: code 0
* ``hidden``: code 1
* ``protected``: code 2
+.. _bcthreadlocal:
+
* *threadlocal*: If present, an encoding of the thread local storage mode of the
variable:
+
* ``not thread local``: code 0
* ``thread local; default TLS model``: code 1
* ``localdynamic``: code 2
* ``dllimport``: code 1
* ``dllexport``: code 2
+* *comdat*: An encoding of the COMDAT of this function
+
.. _FUNCTION:
MODULE_CODE_FUNCTION Record
MODULE_CODE_ALIAS Record
^^^^^^^^^^^^^^^^^^^^^^^^
-``[ALIAS, alias type, aliasee val#, linkage, visibility, dllstorageclass]``
+``[ALIAS, alias type, aliasee val#, linkage, visibility, dllstorageclass, threadlocal, unnamed_addr]``
The ``ALIAS`` record (code 9) marks the definition of an alias. The operand
fields are
* *dllstorageclass*: If present, an encoding of the
:ref:`dllstorageclass<bcdllstorageclass>` of the alias
+* *threadlocal*: If present, an encoding of the
+ :ref:`thread local property<bcthreadlocal>` of the alias
+
+* *unnamed_addr*: If present and non-zero, indicates that the alias has
+ ``unnamed_addr``
+
MODULE_CODE_PURGEVALS Record
^^^^^^^^^^^^^^^^^^^^^^^^^^^^