X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FCLabel.hs;fp=compiler%2Fcmm%2FCLabel.hs;h=7c8fe85a34d7a97f7929958be52eb691d97bad2c;hp=4fd0d3a0fec7951f79902e7c18165dc0abbc8f89;hb=e7ab9c680f945aa020fb0f685fc9d2ec29553558;hpb=572a047bcf7001a4a2b916cfec618082652f2ae6 diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs index 4fd0d3a..7c8fe85 100644 --- a/compiler/cmm/CLabel.hs +++ b/compiler/cmm/CLabel.hs @@ -596,7 +596,15 @@ needsCDecl ModuleRegdLabel = False needsCDecl (StringLitLabel _) = False needsCDecl (AsmTempLabel _) = False needsCDecl (RtsLabel _) = False -needsCDecl (CmmLabel _ _ _) = True + +needsCDecl (CmmLabel pkgId _ _) + -- Prototypes for labels defined in the runtime system are imported + -- into HC files via includes/Stg.h. + | pkgId == rtsPackageId = False + + -- For other labels we inline one into the HC file directly. + | otherwise = True + needsCDecl l@(ForeignLabel{}) = not (isMathFun l) needsCDecl (CC_Label _) = True needsCDecl (CCS_Label _) = True