Description: ensure shift is defined
 We are simulating a 64-bit architecture.
 .
 cbmc (5.84.0-6) unstable; urgency=low
 .
   * Fix further portability problems (Closes: #1038866)
Author: Michael Tautschnig <mt@debian.org>
Bug-Debian: https://bugs.debian.org/1038866

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2023-06-25

--- cbmc-5.84.0.orig/unit/solvers/smt2_incremental/convert_expr_to_smt.cpp
+++ cbmc-5.84.0/unit/solvers/smt2_incremental/convert_expr_to_smt.cpp
@@ -248,8 +248,9 @@ TEST_CASE(
     expr_to_smt_conversion_test_environmentt::make(test_archt::x86_64);
   const pointer_typet pointer_type = ::pointer_type(void_type());
   const std::size_t pointer_width = pointer_type.get_width();
+  static_assert(sizeof(unsigned long long) >= 8, "unsigned long long  must be 64bits or wider");
   const constant_exprt invalid_ptr{
-    integer2bvrep(1ul << (pointer_width - object_bits), pointer_width),
+    integer2bvrep(1ull << (pointer_width - object_bits), pointer_width),
     pointer_type};
   const is_invalid_pointer_exprt is_invalid_ptr{invalid_ptr};
   const smt_termt expected_smt_term = smt_core_theoryt::equal(
