,IF_ARCH_i386(SLIT(".data\n\t.align 4")
,)))
+pprInstr (SEGMENT RoDataSegment)
+ = ptext
+ IF_ARCH_alpha(SLIT("\t.data\n\t.align 3")
+ ,IF_ARCH_sparc(SLIT(".data\n\t.align 8") {-<8 will break double constants -}
+ ,IF_ARCH_i386(SLIT(".section .rodata\n\t.align 4")
+ ,)))
+
pprInstr (LABEL clab)
= let
pp_lab = pprCLabel_asm clab
StInt i -> paren (integer i)
StFloat rat -> paren (text "Float" <+> rational rat)
StDouble rat -> paren (text "Double" <+> rational rat)
- StString str -> paren (text "Str" <+> ptext str)
+ StString str -> paren (text "Str `" <> ptext str <> char '\'')
StComment str -> paren (text "Comment" <+> ptext str)
StCLbl lbl -> pprCLabel lbl
StReg reg -> ppStixReg reg
together).
\begin{code}
-data CodeSegment = DataSegment | TextSegment deriving (Eq, Show)
+data CodeSegment = DataSegment | TextSegment | RoDataSegment deriving (Eq, Show)
ppCodeSegment = text . show
type StixTreeList = [StixTree] -> [StixTree]