Hi Martin,
Thanks for the reply! I checked the Api again and found the information you 
mentioned. And I found another way, which is(suppose value < 0):
ref<ConstantExpr> value_expr = ConstantExpr::create(-value, 32);
vv = vv.get() -> Neg();
It seems to work too, the value vv will be converted into the corresponding 
unsigned number.


Best,
Zhongqiu Gao




At 2019-10-21 23:47:34, "Nowack, Martin" <m.now...@imperial.ac.uk> wrote:
Hi,


In your case, use the `ConstantExpr::alloc()` method that takes an 
`llvm::APInt` as argument.
There are several `APInt` constructors that allow to create arbitrary 
signed/unsigned integers (e.g. 
http://llvm.org/doxygen/classllvm_1_1APInt.html#a6286f2ba84c5ad11f4a90d57cb1dd293).


Best,
Martin



On 19. Oct 2019, at 03:16, Zhongqiu Gao <zhongqiu_...@126.com> wrote:


Hi,
I am trying to do some concrete execution by adding a constraint to a path. I 
check the api of ConstantExpr::create(), and its argument should be an unsigned 
number. Is there a way to create a negative constant expression?


Thanks,
Zhongqiu Gao



 

_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to