[commit: ghc] master: users_guide: Add note about #367 to Bugs section (4c55f14)

git at git.haskell.org git at git.haskell.org
Wed Aug 5 12:44:34 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/4c55f14d0ab0f2b099c475a9810012f645bb059e/ghc

>---------------------------------------------------------------

commit 4c55f14d0ab0f2b099c475a9810012f645bb059e
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Wed Aug 5 14:21:28 2015 +0200

    users_guide: Add note about #367 to Bugs section
    
    This is a long-standing bug and should be mentioned in the users guide,
    as noted in #10639.
    
    Test Plan: Carefully check language.
    
    Reviewers: simonpj, rwbarton, austin
    
    Subscribers: rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D1127
    
    GHC Trac Issues: #10639, #367


>---------------------------------------------------------------

4c55f14d0ab0f2b099c475a9810012f645bb059e
 docs/users_guide/bugs.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 8673d71..1b4d5c9 100644
--- a/docs/users_guide/bugs.xml
+++ b/docs/users_guide/bugs.xml
@@ -476,6 +476,21 @@ checking for duplicates.  The reason for this is efficiency, pure and simple.
 
     <itemizedlist>
       <listitem>
+        <para>GHC's runtime system implements cooperative multitasking, with
+        context switching potentially occurring only when a program allocates.
+        This means that programs that do not allocate may never context switch.
+        See
+        <ulink url="https://ghc.haskell.org/trac/ghc/ticket/367">Trac #367</ulink>
+        for further discussion.
+        </para>
+        <para>If you are hit by this, you may want to compile the affected module
+        with <literal>-fno-omit-yields</literal>. This flag ensures that yield points
+        are inserted at every function entrypoint (at the expense of a bit of
+        performance).
+        </para>
+      </listitem>
+
+      <listitem>
 	<para> GHC can warn about non-exhaustive or overlapping
         patterns (see <xref linkend="options-sanity"/>), and usually
         does so correctly.  But not always.  It gets confused by



More information about the ghc-commits mailing list