summaryrefslogtreecommitdiff
path: root/cfrontend
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2011-08-18 14:50:19 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2011-08-18 14:50:19 +0000
commit50ee6bdf639ffba989968abb9c24a57126ab35a4 (patch)
tree80e123d295a84372b13739b6905d583fa9bbe700 /cfrontend
parent62a07ee96d51c29bab9668d8c41bf5f8bdf9e23d (diff)
Presimplification SimplVolatile: cleaned up and integrated.
test/*/Makefile: normalized 'bench' target git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1717 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend')
-rw-r--r--cfrontend/C2C.ml2
-rw-r--r--cfrontend/Cparser.mlpack1
2 files changed, 2 insertions, 1 deletions
diff --git a/cfrontend/C2C.ml b/cfrontend/C2C.ml
index bdddd14..9340cc5 100644
--- a/cfrontend/C2C.ml
+++ b/cfrontend/C2C.ml
@@ -491,7 +491,7 @@ let rec convertExpr env e =
if is_volatile_access env e1 then
Ecall(volatile_write_fun (typeof e1'),
Econs(Eaddrof(e1', Tpointer(typeof e1')), Econs(e2', Enil)),
- Tvoid) (* typing issue here *)
+ Tvoid) (* SimplVolatile guarantees that ret. value is unused *)
else
Eassign(e1', e2', ty)
| C.EBinop((C.Oadd_assign|C.Osub_assign|C.Omul_assign|C.Odiv_assign|
diff --git a/cfrontend/Cparser.mlpack b/cfrontend/Cparser.mlpack
index 291b551..e6bbdc6 100644
--- a/cfrontend/Cparser.mlpack
+++ b/cfrontend/Cparser.mlpack
@@ -22,5 +22,6 @@ cparser/StructByValue
cparser/StructAssign
cparser/Bitfields
cparser/PackedStructs
+cparser/SimplVolatile
cparser/Parse