From a335e621aaa85a7f73b16c121261dbecf8e68340 Mon Sep 17 00:00:00 2001 From: xleroy Date: Sat, 16 Jul 2011 16:17:08 +0000 Subject: In conditional expressions e1 ? e2 : e3, cast the results of e2 and e3 to the type of the whole conditional expression. Replaced predicates "cast", "is_true" and "is_false" by functions "sem_cast" and "bool_val". git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1684 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- Changelog | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Changelog') diff --git a/Changelog b/Changelog index 27a7a24..56fcb61 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,8 @@ +- Fixed two omissions in the semantics of CompCert C (reported by Brian Campbell): + . Functions calls through a function pointer had undefined semantics. + . Conditional expressions "e1 ? e2 : e3" where e2 and e3 have different + types were missing a cast to their common type. + - Revised and strengthened the top-level statements of semantic preservation. In particular, we now show: . backward simulation for the whole compiler without assuming -- cgit v1.2.3