summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T16180.hs
blob: 073ad7ac9a3c6a02be80bc06fc23c4dc5bf21c71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{-# LANGUAGE TemplateHaskell #-}

module Main where

import Language.Haskell.TH.Syntax
import Foreign.C.String
import Config -- from "ghc" package

$(do
   -- some targets (e.g. Darwin) require a "_" symbol prefix...
   addForeignSource LangAsm (if cLeadingUnderscore == "YES"
      then ".global \"_mydata\"\n\
           \_mydata:\n\
           \.ascii \"Hello world\\0\"\n"
      else ".global \"mydata\"\n\
           \mydata:\n\
           \.ascii \"Hello world\\0\"\n"
      )
   return [])

foreign import ccall "&mydata" mystring :: CString

main :: IO ()
main = putStrLn =<< peekCString mystring