necto wrote: > Why does the language affect the outcome of the test?
the difference comes from the `if (global_var >> 48 & (1ULL << 8) - 1 & 8)`. in C it is treated as an `SVal` and passed directly to `assume`. in C++ there is an implicit cast to `bool`, which triggers `svalBuilder.simplifySVal` call in ExprEngine, at which point it gets simplified to `0`, so the infeasible path never occurs. https://github.com/llvm/llvm-project/pull/210912 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
