Commit 4f7027d6 authored by tibbe's avatar tibbe
Browse files

Document -funbox-strict-primitive-fields

parent e415777c
......@@ -1739,6 +1739,14 @@
<entry>Flatten strict constructor fields with a
pointer-sized representation</entry>
<entry>Tweak unfolding settings</entry>
......@@ -1860,6 +1860,31 @@ f "2" = 2
<indexterm><primary>strict constructor fields</primary></indexterm>
<indexterm><primary>constructor fields, strict</primary></indexterm>
<para>This option causes all constructor fields which are marked
strict (i.e. &ldquo;!&rdquo;) and which representation is smaller or
equal to the size of a pointer to be unpacked if possible. It is
equivalent to adding an <literal>UNPACK</literal> pragma to every
strict constructor field that fullfills the size restriction. (see
<xref linkend="unpack-pragma"/>).
<para>This option is less of a sledgehammer than
<option>-funbox-strict-fields</option>: it should rarely make things
worse. If you use <option>-funbox-strict-primitive-fields</option>
to turn on unboxing by default you can disable it for certain
constructor fields using the <literal>NOUNPACK</literal> pragma (see
<xref linkend="nounpack-pragma"/>).</para>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment