From: simonmar Date: Fri, 25 Feb 2000 15:20:33 +0000 (+0000) Subject: [project @ 2000-02-25 15:20:33 by simonmar] X-Git-Tag: Approximately_9120_patches~5095 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=05f2917ca205123ab62848fd710bbd50b7761513;p=ghc-hetmet.git [project @ 2000-02-25 15:20:33 by simonmar] Add simple mkWeakPtr/addFinalizer test. --- diff --git a/ghc/tests/lib/should_run/Makefile b/ghc/tests/lib/should_run/Makefile index ae04516..696714a 100644 --- a/ghc/tests/lib/should_run/Makefile +++ b/ghc/tests/lib/should_run/Makefile @@ -1,5 +1,5 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.17 2000/01/18 13:36:53 simonmar Exp $ +# $Id: Makefile,v 1.18 2000/02/25 15:20:33 simonmar Exp $ TOP = ../.. include $(TOP)/mk/boilerplate.mk @@ -7,7 +7,7 @@ include $(TOP)/mk/should_run.mk SRC_HC_OPTS += -dcore-lint -packedstring001_HC_OPTS = -syslib lang +npackedstring001_HC_OPTS = -syslib lang exceptions001_HC_OPTS = -fglasgow-exts -fno-warn-missing-methods stableptr002_HC_OPTS = -fglasgow-exts @@ -38,6 +38,8 @@ memo001_RUNTEST_OPTS = +RTS -A10k -G1 memo002_HC_OPTS = -syslib lang memo002_RUNTEST_OPTS = 20 +weak001_HC_OPTS = -fglasgow-exts + SRC_MKDEPENDHS_OPTS += -syslib lang include $(TOP)/mk/target.mk diff --git a/ghc/tests/lib/should_run/weak001.hs b/ghc/tests/lib/should_run/weak001.hs new file mode 100644 index 0000000..26f191c --- /dev/null +++ b/ghc/tests/lib/should_run/weak001.hs @@ -0,0 +1,14 @@ +import Addr +import Weak + +kill:: Addr -> IO () +kill a = do + w <- mkWeakPtr a Nothing + addFinalizer a $ + deRefWeak w >> return () + +main:: IO () +main = sequence_ . take 10000 . repeat $ + malloc 100 >>= kill >> return () + +foreign import malloc :: Int -> IO Addr