From 94fffaf79b3b729cf97b0dfef2d21590413b9aea Mon Sep 17 00:00:00 2001 From: Virgile Prevosto <virgile.prevosto@m4x.org> Date: Mon, 19 Feb 2024 16:18:05 +0100 Subject: [PATCH] [kernel] more explicit error msg --- src/kernel_internals/typing/cabs2cil.ml | 5 ++++- tests/value/oracle/empty_base.1.res.oracle | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/kernel_internals/typing/cabs2cil.ml b/src/kernel_internals/typing/cabs2cil.ml index 6c8a903e494..c450ee61cfc 100644 --- a/src/kernel_internals/typing/cabs2cil.ml +++ b/src/kernel_internals/typing/cabs2cil.ml @@ -4822,7 +4822,10 @@ and doType (ghost:bool) isFuncArg "Array length is too large."; with | SizeOfError (msg,_) -> - Kernel.error ~once:true ~current:true "%s" msg + Kernel.error ~once:true ~current:true + "Unable to compute the size of array element '%a': %s" + Cil_printer.pp_typ bt + msg | Invalid_argument msg -> Kernel.fatal ~current:true "%s" msg end diff --git a/tests/value/oracle/empty_base.1.res.oracle b/tests/value/oracle/empty_base.1.res.oracle index 43a088f4f72..bba69f8432c 100644 --- a/tests/value/oracle/empty_base.1.res.oracle +++ b/tests/value/oracle/empty_base.1.res.oracle @@ -1,11 +1,14 @@ [kernel] Parsing empty_base.c (with preprocessing) [kernel] empty_base.c:13: User Error: empty structs only allowed for GCC/MSVC machdeps; see option -machdep or run 'frama-c -machdep help' for the list of available machdeps -[kernel] empty_base.c:48: User Error: empty struct 'struct empty' +[kernel] empty_base.c:48: User Error: + Unable to compute the size of array element 'struct empty': empty struct 'struct empty' [kernel] empty_base.c:48: User Error: zero-length arrays only allowed for GCC/MSVC machdeps; see option -machdep or run 'frama-c -machdep help' for the list of available machdeps -[kernel] empty_base.c:49: User Error: empty struct 'struct empty' -[kernel] empty_base.c:50: User Error: empty struct 'struct empty' +[kernel] empty_base.c:49: User Error: + Unable to compute the size of array element 'struct empty': empty struct 'struct empty' +[kernel] empty_base.c:50: User Error: + Unable to compute the size of array element 'struct empty': empty struct 'struct empty' [kernel] empty_base.c:50: User Error: empty initializers only allowed for GCC/MSVC machdeps; see option -machdep or run 'frama-c -machdep help' for the list of available machdeps 48 struct empty empty_array_of_empty[0]; -- GitLab