aboutsummaryrefslogtreecommitdiffstats
path: root/cfrontend/Cop.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-04-15 07:58:02 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-04-15 07:58:02 +0000
commit029a8acc9057480021eefc88d435bccf99590985 (patch)
treef2204e82b3761cb85ed88f8193f239cb2cbc27a5 /cfrontend/Cop.v
parentd71c09d94b95fe3ef7658249abb228f0af294572 (diff)
downloadcompcert-kvx-029a8acc9057480021eefc88d435bccf99590985.tar.gz
compcert-kvx-029a8acc9057480021eefc88d435bccf99590985.zip
Use "incrdecr_type ty" instead of "typeconv ty" as the intermediate type
for Epostincr operations. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2455 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Cop.v')
-rw-r--r--cfrontend/Cop.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/cfrontend/Cop.v b/cfrontend/Cop.v
index 7bda1b13..f2550ef3 100644
--- a/cfrontend/Cop.v
+++ b/cfrontend/Cop.v
@@ -902,6 +902,15 @@ Definition sem_incrdecr (id: incr_or_decr) (v: val) (ty: type) :=
| Decr => sem_sub v ty (Vint Int.one) type_int32s
end.
+Definition incrdecr_type (ty: type) :=
+ match typeconv ty with
+ | Tpointer ty a => Tpointer ty a
+ | Tint sz sg a => Tint sz sg noattr
+ | Tlong sg a => Tlong sg noattr
+ | Tfloat sz a => Tfloat sz noattr
+ | _ => Tvoid
+ end.
+
(** * Compatibility with extensions and injections *)
Section GENERIC_INJECTION.