Skip to content

Commit fe0fe95

Browse files
added support for more contracts
1 parent f331ecc commit fe0fe95

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

src/adapter.rs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,24 @@ mod esbmcfixes {
121121
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_add_i8" => {
122122
"__ESBMC_main".to_string()
123123
}
124+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_sub_i8" => {
125+
"__ESBMC_main".to_string()
126+
}
127+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_mul_i8" => {
128+
"__ESBMC_main".to_string()
129+
}
130+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_shr_i8" => {
131+
"__ESBMC_main".to_string()
132+
}
133+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i16" => {
134+
"__ESBMC_main".to_string()
135+
}
136+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i32" => {
137+
"__ESBMC_main".to_string()
138+
}
139+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i64" => {
140+
"__ESBMC_main".to_string()
141+
}
124142
_ => String::from(name),
125143
}
126144
}
@@ -161,7 +179,11 @@ mod esbmcfixes {
161179
"<",
162180
">",
163181
"overflow_result-+",
182+
"overflow_result--",
183+
"overflow_result-*",
184+
"overflow_result-shr",
164185
"lshr",
186+
"ashr",
165187
"shl",
166188
"address_of",
167189
"index",
@@ -213,6 +235,7 @@ mod esbmcfixes {
213235
impl IrepAdapter for CBMCInstruction {
214236
fn to_esbmc_irep(self) -> Irept {
215237
let mut result = Irept::default();
238+
assert_ne!(self.instr_type, 19);
216239

217240
// In ESBMC code arguments are expected to be inside the "operands"
218241
let mut code = self.code;
@@ -297,6 +320,28 @@ impl IrepAdapter for CBMCSymbol {
297320
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_add_i8" => {
298321
"__ESBMC_main".to_string()
299322
}
323+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_mul_i8" => {
324+
"__ESBMC_main".to_string()
325+
}
326+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_neg_i8" => {
327+
"__ESBMC_main".to_string()
328+
}
329+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_sub_i8" => {
330+
"__ESBMC_main".to_string()
331+
}
332+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_shr_i8" => {
333+
"__ESBMC_main".to_string()
334+
}
335+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i16" => {
336+
"__ESBMC_main".to_string()
337+
}
338+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i32" => {
339+
"__ESBMC_main".to_string()
340+
}
341+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i64" => {
342+
"__ESBMC_main".to_string()
343+
}
344+
300345
_ => self.name.clone(),
301346
};
302347

@@ -305,6 +350,27 @@ impl IrepAdapter for CBMCSymbol {
305350
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_add_i8" => {
306351
"__ESBMC_main".to_string()
307352
}
353+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_mul_i8" => {
354+
"__ESBMC_main".to_string()
355+
}
356+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_neg_i8" => {
357+
"__ESBMC_main".to_string()
358+
}
359+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_sub_i8" => {
360+
"__ESBMC_main".to_string()
361+
}
362+
"_RNvNtNtCsesPP5EAma4_4core3num6verify24checked_unchecked_shr_i8" => {
363+
"__ESBMC_main".to_string()
364+
}
365+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i16" => {
366+
"__ESBMC_main".to_string()
367+
}
368+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i32" => {
369+
"__ESBMC_main".to_string()
370+
}
371+
"_RNvNtNtCsesPP5EAma4_4core3num6verify25checked_unchecked_add_i64" => {
372+
"__ESBMC_main".to_string()
373+
}
308374

309375
_ => self.base_name.clone(),
310376
};

0 commit comments

Comments
 (0)