From 5cf73eab6ec5df0abe330e107cbe969d41e38d30 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 16 May 2001 12:49:59 +0000 Subject: [PATCH] [project @ 2001-05-16 12:49:59 by simonmar] Fix a bug in the unfolding for a record selector which caused problems with -funbox-strict-fields. MERGE with 5.00 (after testing etc. etc.) --- ghc/compiler/basicTypes/MkId.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ghc/compiler/basicTypes/MkId.lhs b/ghc/compiler/basicTypes/MkId.lhs index c2809e3..dae32df 100644 --- a/ghc/compiler/basicTypes/MkId.lhs +++ b/ghc/compiler/basicTypes/MkId.lhs @@ -456,9 +456,12 @@ mkRecordSelId tycon field_label unpack_id unpackUtf8_id body = mkVarApps (mkVarApps (Var the_arg_id) field_tyvars) field_dict_ids strict_marks = dataConStrictMarks data_con (expr, real_args) = rebuildConArgs data_con arg_ids strict_marks body - (length arg_ids + 1) + unpack_base where arg_ids = mkTemplateLocalsNum field_base (dataConInstOrigArgTys data_con tyvar_tys) + + unpack_base = field_base + length arg_ids + -- arity+1 avoids all shadowing maybe_the_arg_id = assocMaybe (field_lbls `zip` arg_ids) field_label field_lbls = dataConFieldLabels data_con -- 1.7.10.4