Commit c1c2d849 authored by's avatar
Browse files

Merge branch 'master' of

parents 86e2a2a4 4f7027d6
......@@ -294,7 +294,7 @@ canDoGenerics1_w rep_tc
check_vanilla :: DataCon -> Maybe SDoc
check_vanilla con | isVanillaDataCon con = Nothing
| otherwise = Just (bad con existential)
| otherwise = Just (bad con existential)
-- the Bool is if the parameter occurs in the type
ft_check :: DataCon -> FFoldType (Bool, S.State [Name] (Maybe SDoc))
......@@ -306,7 +306,7 @@ canDoGenerics1_w rep_tc
-- applications, so we must compensate with extra logic
-- to ensure that the variable only occurs as the last
-- argument.
, ft_fun = \x y -> if fst x then (True, return $ Just $ bad con wrong_arg)
, ft_fun = \x y -> if fst x then (True, return $ Just $ bad con wrong_arg)
else x `bmplus` y
, ft_tup = \_ xs ->
if not (null xs) && any fst (init xs)
......@@ -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