Gentoo Archives: gentoo-commits

From: Jonathan-Christofer Demay <jcdemay@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-mathematics/frama-c/files/, sci-mathematics/frama-c/
Date: Wed, 23 Feb 2011 14:17:12
Message-Id: 533ac92a825257fd5995738ccab5683abc85e52e.jcdemay@gentoo
1 commit: 533ac92a825257fd5995738ccab5683abc85e52e
2 Author: Jonathan-Christofer Demay <jcdemay <AT> gmail <DOT> com>
3 AuthorDate: Wed Feb 23 16:19:06 2011 +0000
4 Commit: Jonathan-Christofer Demay <jcdemay <AT> gmail <DOT> com>
5 CommitDate: Wed Feb 23 16:19:06 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=533ac92a
7
8 sci-mathematics/frama-c: temporary retro-compatibility patch
9
10 ---
11 .../files/frama-c-20101202_beta2-local_tmps.patch | 125 ++++++++++++++++++++
12 .../frama-c/frama-c-20101202_beta2.ebuild | 2 +
13 2 files changed, 127 insertions(+), 0 deletions(-)
14
15 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
16 new file mode 100644
17 index 0000000..bd131a0
18 --- /dev/null
19 +++ b/sci-mathematics/frama-c/files/frama-c-20101202_beta2-local_tmps.patch
20 @@ -0,0 +1,125 @@
21 +diff -Naurp frama-c-Carbon-20101202-beta2-orig/cil/src/frontc/cabs2cil.ml frama-c-Carbon-20101202-beta2/cil/src/frontc/cabs2cil.ml
22 +--- frama-c-Carbon-20101202-beta2-orig/cil/src/frontc/cabs2cil.ml 2010-12-17 13:17:07.000000000 +0000
23 ++++ frama-c-Carbon-20101202-beta2/cil/src/frontc/cabs2cil.ml 2011-02-23 15:20:36.000000000 +0000
24 +@@ -671,13 +671,11 @@ let newTempVar descr (descrpure:bool) ty
25 + vi.vdescrpure <- descrpure;
26 + (* Rename if clash, but do not add to the environment *)
27 + let vi = alphaConvertVarAndAddToEnv false vi in
28 +- (*
29 + (* the temporary is local to the function: the normalization can use it
30 + wherever it wants.
31 + *)
32 + !currentFunctionFDEC.sbody.blocals <-
33 + vi :: !currentFunctionFDEC.sbody.blocals;
34 +- *)
35 + vi
36 +
37 + let mkAddrOfAndMark loc ((b, off) as lval) : exp =
38 +@@ -4715,7 +4713,7 @@ and doExp local_env
39 + (if uop = A.POSINCR then "++" else "--") in
40 + let tmp = newTempVar (Some descr) true t in
41 + ([var tmp],
42 +- local_var_chunk se' tmp +++
43 ++ se' +++
44 + (mkStmtOneInstr ~ghost:local_env.is_ghost
45 + (Set(var tmp, e', CurrentLoc.get ())),[],[],[]),
46 + (* the tmp variable should not be investigated for
47 +@@ -4811,13 +4809,11 @@ and doExp local_env
48 + if needsTemp then
49 + let descr = Some (Pretty_utils.sfprintf "%a" dd_lval lv) in
50 + let tmp = newTempVar descr true lvt in
51 +- let chunk =
52 +- i2c
53 +- (mkStmtOneInstr ~ghost:local_env.is_ghost
54 +- (Set(lv, new_exp (Lval(var tmp)), loc)),
55 +- [lv],[lv],var tmp :: r1')
56 +- in
57 +- ([],var tmp, local_var_chunk chunk tmp)
58 ++ ([],var tmp,
59 ++ i2c
60 ++ (mkStmtOneInstr ~ghost:local_env.is_ghost
61 ++ (Set(lv, new_exp (Lval(var tmp)), loc)),
62 ++ [lv],[lv],var tmp :: r1'))
63 + else r1',lv, empty
64 + in
65 + let (r2,se2, _, _) =
66 +@@ -4939,17 +4935,14 @@ and doExp local_env
67 + let tmp =
68 + newTempVar (Some "<boolean expression>") true intType
69 + in
70 +- let condChunk =
71 +- compileCondExp false ce
72 ++ finishExp []
73 ++ (compileCondExp false ce
74 + (empty +++
75 + (mkStmtOneInstr ~ghost:local_env.is_ghost
76 + (Set(var tmp, integer 1,loc)),[],[],[]))
77 + (empty +++
78 + (mkStmtOneInstr ~ghost:local_env.is_ghost
79 +- (Set(var tmp, integer 0,loc)),[],[],[]))
80 +- in
81 +- finishExp []
82 +- (local_var_chunk condChunk tmp)
83 ++ (Set(var tmp, integer 0,loc)),[],[],[])))
84 + (new_exp ~loc (Lval (var tmp)))
85 + intType
86 + end
87 +@@ -5046,7 +5039,6 @@ and doExp local_env
88 + newTempVar
89 + (Some (Pretty_utils.sfprintf "%a" dd_exp e)) true t
90 + in
91 +- let c = local_var_chunk c tmp in
92 + (* create an instruction to give the e to the temporary *)
93 + let i = mkStmtOneInstr ~ghost:local_env.is_ghost
94 + (Set(var tmp, e, loc)) in
95 +@@ -5145,7 +5137,6 @@ and doExp local_env
96 + ASet (is_real,lv, r, lvt) -> is_real, lv, r, lvt
97 + | _ ->
98 + let v = newTempVar None true resTyp in
99 +- prechunk:= local_var_chunk !prechunk v;
100 + false, var v, [], resTyp
101 + in
102 + pwhat := (ASet (is_real, destlv, r, destlvtyp));
103 +@@ -5275,7 +5266,6 @@ and doExp local_env
104 + (Pretty_utils.pp_list ~sep:", " dd_exp) !pargs
105 + in
106 + let tmp = newTempVar (Some descr) false restype'' in
107 +- prechunk:=local_var_chunk !prechunk tmp;
108 + (* Remember that this variable has been created for this
109 + * specific call. We will use this in collapseCallCast. *)
110 + IH.add callTempVars tmp.vid ();
111 +@@ -5371,7 +5361,6 @@ and doExp local_env
112 + let (r1,se1, _, _) =
113 + doExp local_env asconst e1 (ASet(false, tmp_var, [], tresult))
114 + in
115 +- let se1 = local_var_chunk se1 tmp in
116 + let r3,se3,_,_ =
117 + finishExp
118 + ~newWhat:(ASet(false,tmp_var, [], tresult)) r3 se3 e3' t3
119 +@@ -5388,7 +5377,7 @@ and doExp local_env
120 + | ASet (is_real, lv, r, lvt) -> is_real, lv, r, lvt, empty
121 + | _ ->
122 + let tmp = newTempVar None true tresult in
123 +- false, var tmp, [], tresult, local_var_chunk empty tmp
124 ++ false, var tmp, [], tresult, empty
125 + in
126 + (* Now do e2 and e3 for real *)
127 + let (r2,se2, _, _) =
128 +@@ -5461,7 +5450,7 @@ and doExp local_env
129 + b.bstmts @
130 + [Cil.mkStmtOneInstr ~ghost:local_env.is_ghost
131 + (Set (Cil.var vi, e,loc))];
132 +- (local_var_chunk se vi,Cil.new_exp ~loc (Lval (Cil.var vi)))
133 ++ (se,Cil.new_exp ~loc (Lval (Cil.var vi)))
134 + | _ -> se,e
135 + in
136 + finishExp [] se e t
137 +@@ -6583,7 +6572,7 @@ and createLocal ghost ((_, sto, _, _) as
138 + (Some (Pretty_utils.sfprintf "alloca(%a)" d_exp sizeof))
139 + false rt
140 + in
141 +- (local_var_chunk setlen tmp)
142 ++ setlen
143 + +++ (mkStmtOneInstr ~ghost
144 + (Call(Some(var tmp), new_exp ~loc (Lval(var alloca)),
145 + [ sizeof ], CurrentLoc.get ())),[],[],[])
146
147 diff --git a/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild b/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
148 index 05e24cf..1bf1977 100644
149 --- a/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
150 +++ b/sci-mathematics/frama-c/frama-c-20101202_beta2.ebuild
151 @@ -32,6 +32,8 @@ S="${WORKDIR}/${PN/-c/-c-$NAME}-${PV/_/-}"
152 src_prepare(){
153 rm share/libc/test.c
154 rm -Rf src/wp
155 +
156 + epatch "${FILESDIR}/${P}-local_tmps.patch"
157
158 touch config_file
159 sed -i configure.in \