From 15eadbad13fd1fcdeb97b2675733842d4d7fe571 Mon Sep 17 00:00:00 2001 From: Virgile Prevosto <virgile.prevosto@m4x.org> Date: Tue, 22 Feb 2022 17:21:36 +0100 Subject: [PATCH] [cil] fix list of potential types for decimal integer litterals an antediluvian comment hinted at some weird behavior of gcc and MSVC at that time, but gcc is now fully ISO compliant in this respect Waiting for complaints against the MSVC machdep to see whether special case is warranted there. --- src/kernel_services/ast_queries/cil.ml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml index db32e083853..f2aef10880a 100644 --- a/src/kernel_services/ast_queries/cil.ml +++ b/src/kernel_services/ast_queries/cil.ml @@ -3220,10 +3220,9 @@ let parseIntAux (str:string) = else if hasSuffix "U" then 1, [IUInt; IULong; IULongLong] else - 0, if octalhexbin || true (* !!! This is against the ISO but it - * is what GCC and MSVC do !!! *) + 0, if octalhexbin then [IInt; IUInt; ILong; IULong; ILongLong; IULongLong] - else [IInt; ILong; IUInt; ILongLong] + else [IInt; ILong; ILongLong] in (* Convert to integer. To prevent overflow we do the arithmetic * on Big_int and we take care of overflow. We work only with -- GitLab