Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/primop-branch-2/src/compiler/FLINT/trans/translate.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-2/src/compiler/FLINT/trans/translate.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1641, Wed Oct 6 20:18:55 2004 UTC revision 1682, Tue Nov 9 23:48:09 2004 UTC
# Line 1129  Line 1129 
1129               ((if TU.equalType (t, BT.intTy) then INT (LN.int s)               ((if TU.equalType (t, BT.intTy) then INT (LN.int s)
1130                 else if TU.equalType (t, BT.int32Ty) then INT32 (LN.int32 s)                 else if TU.equalType (t, BT.int32Ty) then INT32 (LN.int32 s)
1131                 else if TU.equalType (t, BT.intinfTy) then VAR (getII s)                 else if TU.equalType (t, BT.intinfTy) then VAR (getII s)
1132                   else if TU.equalType (t, BT.int64Ty) then
1133                       let val (hi, lo) = LN.int64 s
1134                       in RECORD [WORD32 hi, WORD32 lo]
1135                       end
1136                 else bug "translate INTexp")                 else bug "translate INTexp")
1137                handle Overflow => (repErr "int constant too large"; INT 0))                handle Overflow => (repErr "int constant too large"; INT 0))
1138    
1139          | g (WORDexp(s, t)) =          | g (WORDexp(s, t)) =
1140               ((if TU.equalType (t, BT.wordTy) then WORD (LN.word s)               ((if TU.equalType (t, BT.wordTy) then WORD (LN.word s)
1141                 else if TU.equalType (t, BT.word8Ty)                 else if TU.equalType (t, BT.word8Ty) then WORD (LN.word8 s)
1142                      then WORD (LN.word8 s)                 else if TU.equalType (t, BT.word32Ty) then WORD32 (LN.word32 s)
1143                      else if TU.equalType (t, BT.word32Ty)                 else if TU.equalType (t, BT.word64Ty) then
1144                           then WORD32 (LN.word32 s)                     let val (hi, lo) = LN.word64 s
1145                           else (ppType t;                     in RECORD [WORD32 hi, WORD32 lo]
1146                                 bug "translate WORDexp"))                     end
1147                   else (ppType t; bug "translate WORDexp"))
1148                 handle Overflow => (repErr "word constant too large"; INT 0))                 handle Overflow => (repErr "word constant too large"; INT 0))
1149    
1150          | g (REALexp s) = REAL s          | g (REALexp s) = REAL s

Legend:
Removed from v.1641  
changed lines
  Added in v.1682

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0