[project @ 1999-01-22 10:25:44 by simonm]
authorsimonm <unknown>
Fri, 22 Jan 1999 10:25:44 +0000 (10:25 +0000)
committersimonm <unknown>
Fri, 22 Jan 1999 10:25:44 +0000 (10:25 +0000)
Fix a use of [ e1..e2 ] in the light of the new Haskell 98 semantics.

ghc/compiler/typecheck/TcExpr.lhs

index aae7a24..6c32a24 100644 (file)
@@ -347,8 +347,12 @@ tcMonoExpr (CCall lbl args may_gc is_asm ignored_fake_result_ty) res_ty
     in
 
        -- Arguments
-    mapNF_Tc (\ _ -> newTyVarTy_OpenKind) [1..(length args)]   `thenNF_Tc` \ arg_tys ->
-    tcMonoExprs args arg_tys                                   `thenTc`    \ (args', args_lie) ->
+    let n_args = length args
+       tv_idxs | n_args == 0 = []
+               | otherwise   = [1..n_args]
+    in
+    mapNF_Tc (\ _ -> newTyVarTy_OpenKind) tv_idxs      `thenNF_Tc` \ arg_tys ->
+    tcMonoExprs args arg_tys                           `thenTc`    \ (args', args_lie) ->
 
        -- The argument types can be unboxed or boxed; the result
        -- type must, however, be boxed since it's an argument to the IO