From 9e7c04e2c4e819b1ec0a538d4e368394569906f1 Mon Sep 17 00:00:00 2001 From: Mark Shinwell Date: Mon, 9 Dec 2024 11:03:39 +0000 Subject: [PATCH] Pgcignorableproductarray error --- .../flambda2/from_lambda/lambda_to_lambda_transforms.ml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/middle_end/flambda2/from_lambda/lambda_to_lambda_transforms.ml b/middle_end/flambda2/from_lambda/lambda_to_lambda_transforms.ml index 01a0d02d8cf..93ec4939759 100644 --- a/middle_end/flambda2/from_lambda/lambda_to_lambda_transforms.ml +++ b/middle_end/flambda2/from_lambda/lambda_to_lambda_transforms.ml @@ -365,16 +365,19 @@ let makearray_dynamic env (lambda_array_kind : L.array_kind) | Some init -> init | None -> ( match lambda_array_kind with - | Pintarray -> + | Pintarray | Pgcignorableproductarray _ -> + (* If we get here for [Pgcignorableproductarray] then a tagged immediate + is involved: see main [match] below. *) Misc.fatal_errorf - "Cannot compile Pmakearray_dynamic at layout Pintarray without an \ + "Cannot compile Pmakearray_dynamic at layout %s without an \ initializer; otherwise it might be possible for values of type \ [int] having incorrect representations to be revealed, thus \ breaking soundness:@ %a" + (Printlambda.array_kind lambda_array_kind) Debuginfo.print_compact dbg | Pgenarray | Paddrarray | Pfloatarray | Punboxedfloatarray _ | Punboxedintarray _ | Punboxedvectorarray _ | Pgcscannableproductarray _ - | Pgcignorableproductarray _ -> + -> Misc.fatal_errorf "Cannot compile Pmakearray_dynamic at layout %s without an \ initializer:@ %a"