Commit 37323ea0 authored by Simon Marlow's avatar Simon Marlow

add pointers to the wiki for the rules about C prototypes

parent f79247cd
......@@ -446,6 +446,8 @@ entryLblToInfoLbl l = pprPanic "CLabel.entryLblToInfoLbl" (pprCLabel l)
-- -----------------------------------------------------------------------------
-- Does a CLabel need declaring before use or not?
--
-- See wiki:Commentary/Compiler/Backends/PprC#Prototypes
needsCDecl :: CLabel -> Bool
-- False <=> it's pre-declared; don't bother
......@@ -463,10 +465,6 @@ needsCDecl ModuleRegdLabel = False
needsCDecl (StringLitLabel _) = False
needsCDecl (AsmTempLabel _) = False
needsCDecl (RtsLabel _) = False
-- RTS labels are declared in RTS header files. Otherwise we'd need
-- to give types for each label reference in the RTS .cmm files
-- somehow; when generating .cmm code we know the types of labels (info,
-- entry etc.) but for hand-written .cmm code we don't.
needsCDecl l@(ForeignLabel _ _ _) = not (isMathFun l)
needsCDecl (CC_Label _) = True
needsCDecl (CCS_Label _) = True
......
......@@ -16,6 +16,8 @@
--
-- Print Cmm as real C, for -fvia-C
--
-- See wiki:Commentary/Compiler/Backends/PprC
--
-- This is simpler than the old PprAbsC, because Cmm is "macro-expanded"
-- relative to the old AbstractC, and many oddities/decorations have
-- disappeared from the data type.
......@@ -206,6 +208,7 @@ pprStmt stmt = case stmt of
where
ppr_fn = parens (cCast (pprCFunType (char '*') cconv results args) fn)
-- See wiki:Commentary/Compiler/Backends/PprC#Prototypes
maybe_proto =
case fn of
CmmLit (CmmLabel lbl) | not (isMathFun lbl) ->
......
......@@ -8,6 +8,8 @@
* our Cmm code generator doesn't know how to generate local symbols
* for the RTS bits (it assumes all RTS symbols are external).
*
* See wiki:Commentary/Compiler/Backends/PprC#Prototypes
*
* --------------------------------------------------------------------------*/
#ifndef STGMISCCLOSURES_H
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment