Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC

Commits:

6 changed files:

Changes:

  • testsuite/tests/ghci/T9074/Makefile
    1
    +TOP=../../..
    
    2
    +include $(TOP)/mk/boilerplate.mk
    
    3
    +include $(TOP)/mk/test.mk
    
    4
    +
    
    5
    +.PHONY: T9074
    
    6
    +T9074 :
    
    7
    +	"$(TEST_HC)" $(TEST_HC_OPTS) -v0 -c -fPIC T9074b.c
    
    8
    +	"$(TEST_HC)" $(TEST_HC_OPTS) -v0 -c -fPIC T9074a.c
    
    9
    +	# Historically, loading T9074b.o before T9074a.o could fail with
    
    10
    +	# "Loading temp shared object failed ... undefined symbol: shared_value".
    
    11
    +	echo "main" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) \
    
    12
    +	    -v0 T9074b.o T9074a.o T9074.hs

  • testsuite/tests/ghci/T9074/T9074.hs
    1
    +{-# LANGUAGE ForeignFunctionInterface #-}
    
    2
    +
    
    3
    +foreign import ccall unsafe "read_from_b" readFromB :: IO Int
    
    4
    +
    
    5
    +main :: IO ()
    
    6
    +main = readFromB >>= print

  • testsuite/tests/ghci/T9074/T9074.stdout
    1
    +65

  • testsuite/tests/ghci/T9074/T9074a.c
    1
    +int shared_value = 65;

  • testsuite/tests/ghci/T9074/T9074b.c
    1
    +extern int shared_value;
    
    2
    +
    
    3
    +int read_from_b(void) {
    
    4
    +  return shared_value;
    
    5
    +}

  • testsuite/tests/ghci/T9074/all.T
    1
    +test('T9074',
    
    2
    +     [req_c,
    
    3
    +      req_interp],
    
    4
    +     makefile_test, [])