Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
37323ea0
Commit
37323ea0
authored
Apr 09, 2008
by
Simon Marlow
Browse files
add pointers to the wiki for the rules about C prototypes
parent
f79247cd
Changes
3
Hide whitespace changes
Inline
Side-by-side
compiler/cmm/CLabel.hs
View file @
37323ea0
...
...
@@ -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
...
...
compiler/cmm/PprC.hs
View file @
37323ea0
...
...
@@ -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
)
->
...
...
includes/StgMiscClosures.h
View file @
37323ea0
...
...
@@ -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
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment