Skip to content

Commit c29d86e

Browse files
committed
Move out of first class section
1 parent b73155d commit c29d86e

File tree

1 file changed

+24
-30
lines changed

1 file changed

+24
-30
lines changed

llvm/docs/LangRef.rst

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4122,6 +4122,30 @@ except :ref:`label <t_label>` and :ref:`metadata <t_metadata>`.
41224122
| ``{i32, i32} (i32)`` | A function taking an ``i32``, returning a :ref:`structure <t_struct>` containing two ``i32`` values |
41234123
+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
41244124

4125+
.. _t_opaque:
4126+
4127+
Opaque Structure Types
4128+
----------------------
4129+
4130+
:Overview:
4131+
4132+
Opaque structure types are used to represent structure types that
4133+
do not have a body specified. This corresponds (for example) to the C
4134+
notion of a forward declared structure. They can be named (``%X``) or
4135+
unnamed (``%52``).
4136+
4137+
It is not possible to create SSA values with an opaque structure type. In
4138+
practice, this largely limits their use to the value type of external globals.
4139+
4140+
:Syntax:
4141+
4142+
::
4143+
4144+
%X = type opaque
4145+
%52 = type opaque
4146+
4147+
@g = external global %X
4148+
41254149
.. _t_firstclass:
41264150

41274151
First Class Types
@@ -4562,36 +4586,6 @@ opaqued and are never uniqued. Identified types must not be recursive.
45624586
| ``<{ i8, i32 }>`` | A packed struct known to be 5 bytes in size. |
45634587
+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
45644588

4565-
.. _t_opaque:
4566-
4567-
Opaque Structure Types
4568-
""""""""""""""""""""""
4569-
4570-
:Overview:
4571-
4572-
Opaque structure types are used to represent structure types that
4573-
do not have a body specified. This corresponds (for example) to the C
4574-
notion of a forward declared structure. They can be named (``%X``) or
4575-
unnamed (``%52``).
4576-
4577-
It is not possible to create SSA values with an opaque structure type. In
4578-
practice, this largely limits their use to the value type of external globals.
4579-
4580-
:Syntax:
4581-
4582-
::
4583-
4584-
%X = type opaque
4585-
%52 = type opaque
4586-
4587-
@g = external global %X
4588-
4589-
:Examples:
4590-
4591-
+--------------+-------------------+
4592-
| ``opaque`` | An opaque type. |
4593-
+--------------+-------------------+
4594-
45954589
.. _constants:
45964590

45974591
Constants

0 commit comments

Comments
 (0)