From: "Jonathan-Christofer Demay" <jcdemay@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-mathematics/frama-c/files/, sci-mathematics/frama-c/
Date: Wed, 23 Feb 2011 14:17:00 +0000 (UTC) [thread overview]
Message-ID: <533ac92a825257fd5995738ccab5683abc85e52e.jcdemay@gentoo> (raw)
commit: 533ac92a825257fd5995738ccab5683abc85e52e
Author: Jonathan-Christofer Demay <jcdemay <AT> gmail <DOT> com>
AuthorDate: Wed Feb 23 16:19:06 2011 +0000
Commit: Jonathan-Christofer Demay <jcdemay <AT> gmail <DOT> com>
CommitDate: Wed Feb 23 16:19:06 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=533ac92a
sci-mathematics/frama-c: temporary retro-compatibility patch
---
.../files/frama-c-20101202_beta2-local_tmps.patch | 125 ++++++++++++++++++++
.../frama-c/frama-c-20101202_beta2.ebuild | 2 +
2 files changed, 127 insertions(+), 0 deletions(-)
diff --git a/sci-mathematics/frama-c/files/frama-c-20101202_beta2-local_tmps.patch b/sci-mathematics/frama-c/files/frama-c-20101202_beta2-local_tmps.patch
new file mode 100644
index 0000000..bd131a0
--- /dev/null
+++ b/sci-mathematics/frama-c/files/frama-c-20101202_beta2-local_tmps.patch
@@ -0,0 +1,125 @@
+diff -Naurp frama-c-Carbon-20101202-beta2-orig/cil/src/frontc/cabs2cil.ml frama-c-Carbon-20101202-beta2/cil/src/frontc/cabs2cil.ml
+--- frama-c-Carbon-20101202-beta2-orig/cil/src/frontc/cabs2cil.ml 2010-12-17 13:17:07.000000000 +0000
++++ frama-c-Carbon-20101202-beta2/cil/src/frontc/cabs2cil.ml 2011-02-23 15:20:36.000000000 +0000
+@@ -671,13 +671,11 @@ let newTempVar descr (descrpure:bool) ty
+ vi.vdescrpure <- descrpure;
+ (* Rename if clash, but do not add to the environment *)
+ let vi = alphaConvertVarAndAddToEnv false vi in
+- (*
+ (* the temporary is local to the function: the normalization can use it
+ wherever it wants.
+ *)
+ !currentFunctionFDEC.sbody.blocals <-
+ vi :: !currentFunctionFDEC.sbody.blocals;
+- *)
+ vi
+
+ let mkAddrOfAndMark loc ((b, off) as lval) : exp =
+@@ -4715,7 +4713,7 @@ and doExp local_env
+ (if uop = A.POSINCR then "++" else "--") in
+ let tmp = newTempVar (Some descr) true t in
+ ([var tmp],
+- local_var_chunk se' tmp +++
++ se' +++
+ (mkStmtOneInstr ~ghost:local_env.is_ghost
+ (Set(var tmp, e', CurrentLoc.get ())),[],[],[]),
+ (* the tmp variable should not be investigated for
+@@ -4811,13 +4809,11 @@ and doExp local_env
+ if needsTemp then
+ let descr = Some (Pretty_utils.sfprintf "%a" dd_lval lv) in
+ let tmp = newTempVar descr true lvt in
+- let chunk =
+- i2c
+- (mkStmtOneInstr ~ghost:local_env.is_ghost
+- (Set(lv, new_exp (Lval(var tmp)), loc)),
+- [lv],[lv],var tmp :: r1')
+- in
+- ([],var tmp, local_var_chunk chunk tmp)
++ ([],var tmp,
++ i2c
++ (mkStmtOneInstr ~ghost:local_env.is_ghost
++ (Set(lv, new_exp (Lval(var tmp)), loc)),
++ [lv],[lv],var tmp :: r1'))
+ else r1',lv, empty
+ in
+ let (r2,se2, _, _) =
+@@ -4939,17 +4935,14 @@ and doExp local_env
+ let tmp =
+ newTempVar (Some "<boolean expression>") true intType
+ in
+- let condChunk =
+- compileCondExp false ce
++ finishExp []
++ (compileCondExp false ce
+ (empty +++
+ (mkStmtOneInstr ~ghost:local_env.is_ghost
+ (Set(var tmp, integer 1,loc)),[],[],[]))
+ (empty +++
+ (mkStmtOneInstr ~ghost:local_env.is_ghost
+- (Set(var tmp, integer 0,loc)),[],[],[]))
+- in
+- finishExp []
+- (local_var_chunk condChunk tmp)
++ (Set(var tmp, integer 0,loc)),[],[],[])))
+ (new_exp ~loc (Lval (var tmp)))
+ intType
+ end
+@@ -5046,7 +5039,6 @@ and doExp local_env
+ newTempVar
+ (Some (Pretty_utils.sfprintf "%a" dd_exp e)) true t
+ in
+- let c = local_var_chunk c tmp in
+ (* create an instruction to give the e to the temporary *)
+ let i = mkStmtOneInstr ~ghost:local_env.is_ghost
+ (Set(var tmp, e, loc)) in
+@@ -5145,7 +5137,6 @@ and doExp local_env
+ ASet (is_real,lv, r, lvt) -> is_real, lv, r, lvt
+ | _ ->
+ let v = newTempVar None true resTyp in
+- prechunk:= local_var_chunk !prechunk v;
+ false, var v, [], resTyp
+ in
+ pwhat := (ASet (is_real, destlv, r, destlvtyp));
+@@ -5275,7 +5266,6 @@ and doExp local_env
+ (Pretty_utils.pp_list ~sep:", " dd_exp) !pargs
+ in
+ let tmp = newTempVar (Some descr) false restype'' in
+- prechunk:=local_var_chunk !prechunk tmp;
+ (* Remember that this variable has been created for this
+ * specific call. We will use this in collapseCallCast. *)
+ IH.add callTempVars tmp.vid ();
+@@ -5371,7 +5361,6 @@ and doExp local_env
+ let (r1,se1, _, _) =
+ doExp local_env asconst e1 (ASet(false, tmp_var, [], tresult))
+ in
+- let se1 = local_var_chunk se1 tmp in
+ let r3,se3,_,_ =
+ finishExp
+ ~newWhat:(ASet(false,tmp_var, [], tresult)) r3 se3 e3' t3
+@@ -5388,7 +5377,7 @@ and doExp local_env
+ | ASet (is_real, lv, r, lvt) -> is_real, lv, r, lvt, empty
+ | _ ->
+ let tmp = newTempVar None true tresult in
+- false, var tmp, [], tresult, local_var_chunk empty tmp
++ false, var tmp, [], tresult, empty
+ in
+ (* Now do e2 and e3 for real *)
+ let (r2,se2, _, _) =
+@@ -5461,7 +5450,7 @@ and doExp local_env
+ b.bstmts @
+ [Cil.mkStmtOneInstr ~ghost:local_env.is_ghost
+ (Set (Cil.var vi, e,loc))];
+- (local_var_chunk se vi,Cil.new_exp ~loc (Lval (Cil.var vi)))
++ (se,Cil.new_exp ~loc (Lval (Cil.var vi)))
+ | _ -> se,e
+ in
+ finishExp [] se e t
+@@ -6583,7 +6572,7 @@ and createLocal ghost ((_, sto, _, _) as
+ (Some (Pretty_utils.sfprintf "alloca(%a)" d_exp sizeof))
+ false rt
+ in
+- (local_var_chunk setlen tmp)
++ setlen
+ +++ (mkStmtOneInstr ~ghost
+ (Call(Some(var tmp), new_exp ~loc (Lval(var alloca)),
+ [ sizeof ], CurrentLoc.get ())),[],[],[])
diff --git a/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild b/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
index 05e24cf..1bf1977 100644
--- a/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
+++ b/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
@@ -32,6 +32,8 @@ S="${WORKDIR}/${PN/-c/-c-$NAME}-${PV/_/-}"
src_prepare(){
rm share/libc/test.c
rm -Rf src/wp
+
+ epatch "${FILESDIR}/${P}-local_tmps.patch"
touch config_file
sed -i configure.in \
next reply other threads:[~2011-02-23 14:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-23 14:17 Jonathan-Christofer Demay [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-02-24 17:56 [gentoo-commits] proj/sci:master commit in: sci-mathematics/frama-c/files/, sci-mathematics/frama-c/ Andrew Savchenko
2011-05-11 23:50 Jonathan-Christofer Demay
2011-02-28 10:47 Jonathan-Christofer Demay
2011-02-23 13:23 Jonathan-Christofer Demay
2011-02-14 0:33 Jonathan-Christofer Demay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=533ac92a825257fd5995738ccab5683abc85e52e.jcdemay@gentoo \
--to=jcdemay@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox